ряды квантов в последовательности, содержащие бесконечность?

У меня есть следующий фреймворк:

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-й квантил работает таким образом. Разве это не бесконечность?

Я думаю, что это может быть ошибка в numpy:

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

в то время как

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

Вместо того, чтобы просто принимать значение в индексе 1, он принимает значения в индексах 1 и 2 с весами 1 и 0. Таким образом, это приводит к 0 * inf .


В вашем случае результат должен быть 2,33 (попробуйте, например, df.iloc[5,0] = 1e10 ).