大熊猫分位数包含无穷大?

时间:2016-04-12 09:25:53

标签: python pandas

我有以下数据框:

   calc_value
0         NaN
1    0.000000
2    0.100000
3    0.500000
4    2.333333
5         inf

现在我想计算一些分位数:

print df.quantile(.1)['calc_value']
print df.quantile(.25)['calc_value']
print df.quantile(.5)['calc_value']
print df.quantile(.75)['calc_value']
print df.quantile(.9)['calc_value']

但是这会回来:

0.04
0.1
0.5
nan
inf

我不明白为什么第75个分位数以这种方式工作。难道不是无限吗?

1 个答案:

答案 0 :(得分:0)

我认为这可能是numpy中的一个错误:

np.percentile([0,1,np.inf], 50)
Out[63]: nan

,而

np.median([0, 1, np.inf])
Out[65]: 1.0

不是简单地在索引1处获取值,而是使用权重1和0获取索引1和2处的值。因此,它会生成0 * inf

在您的情况下,结果应为2.33(例如,尝试使用df.iloc[5,0] = 1e10)。