我试图手动计算一列值的分位数,但是使用公式时无法找到与Pandas输出结果相匹配的正确分位数值。 我寻找了不同的解决方案,但没有找到正确答案。
In [54]: df
Out[54]:
data1 data2 key1 key2
0 -0.204708 1.393406 a one
1 0.478943 0.092908 a two
2 1.965781 1.246435 a one
In [55]: grouped = df.groupby('key1')
In [56]: grouped['data1'].quantile(0.9)
Out[56]:
key1
a 1.668413
使用公式手动查找,n为3,因为data1列中有3个值。
quantile(n+1)
应用df1列的值
=0.9(n+1)
=0.9(4)
= 3.6
第3.6个位置的值为1.965781,那么pandas是如何得出1.668413的呢?