我有以下简单的数据框:
> df = pd.DataFrame({'calc_value': [0, 0.081928, 0.94444]})
> df
calc_value
0 0.000000
1 0.081928
2 0.944440
为什么
df.quantile
将第90个百分位数计算为0.7719376
?> df.quantile(0.9)['calc_value']`
0.7719376
根据我的计算,应为
0.69
,通过(0.944444-0.081928)*((90-50)/(100-50))
。 最佳答案
好吧,每0.1步长在0.5 ... 1.0范围内等于(0.94444-0.081928)/ 5并等于0.1725024
So 50q is 0.081928
60q is 0.081928+0.1725024=0.25443
70q is 0.081928+2*0.1725024=0.426933
80q is 0.081928+3*0.1725024=0.599435
90q is 0.081928+4*0.1725024=0.771938
100q is 0.081928+5*0.1725024=0.94444
关于python - Pandas 如何计算分位数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35585104/