Python Pandas - 如何通过描述函数计算 25 个百分点

2024-04-16

对于数据框中的给定数据集,当我应用describe函数,我得到基本统计数据,包括最小值、最大值、25%、50% 等。

例如:

data_1 = pd.DataFrame({'One':[4,6,8,10]},columns=['One'])
data_1.describe()

输出是:

        One
count   4.000000
mean    7.000000
std     2.581989
min     4.000000
25%     5.500000
50%     7.000000
75%     8.500000
max     10.000000

我的问题是: 25%的计算公式是什么?

1)据我所知,是:

formula = percentile * n (n is number of values)

在这种情况下:

25/100 * 4 = 1

所以第一个位置是数字 4,但根据描述函数它是5.5.

2) 另一个例子说 - 如果你得到一个整数,然后取 4 和 6 的平均值 - 这将是 5 - 仍然不匹配5.5由描述给出。

3) 另一个教程说 - 你取两个数字之间的差 - 乘以 25% 并添加到较小的数字:

25/100 * (6-4) = 1/4*2 = 0.5

将其添加到较低的数字:4 + 0.5 = 4.5

还是没有得到5.5.

有人可以澄清一下吗?


In the 熊猫文档 https://github.com/pydata/pandas/blob/master/pandas/core/series.py有关于分位数计算的信息,其中引用了 numpy.percentile :

返回给定分位数的值,即 numpy.percentile。

然后,检查 numpy.percentile解释 http://docs.scipy.org/doc/numpy/reference/generated/numpy.percentile.html,我们可以看到插值方法设置为linear默认情况下:

线性:i + (j - i) *fraction,其中fraction是小数部分 由 i 和 j 包围的索引

对于您的具体情况,第 25 个分位数的结果为:

res_25 = 4 + (6-4)*(3/4) =  5.5

对于第 75 个分位数,我们得到:

res_75 = 8 + (10-8)*(1/4) = 8.5

如果您将插值方法设置为“中点”,那么您将得到您想要的结果。

.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Pandas - 如何通过描述函数计算 25 个百分点 的相关文章

随机推荐