gpt4 book ai didi

Python Pandas - 如何通过 describe 函数计算 25 个百分位数

转载 作者:太空狗 更新时间:2023-10-29 20:41:45 27 4
gpt4 key购买 nike

对于数据框中的给定数据集,当我应用 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 但根据 describe 函数它是 5.5

2) 另一个例子说 - 如果你得到一个整数,然后取 4 和 6 的平均值 - 即 5 - 仍然不匹配 describe 给出的 5.5

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

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

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

仍然没有达到 5.5

有人可以澄清一下吗?

最佳答案

pandas documentation有关于分位数计算的信息,其中引用了 numpy.percentile:

Return value at the given quantile, a la numpy.percentile.

然后,检查 numpy.percentile explanation ,我们可以看到插值方式默认设置为线性:

linear: i + (j - i) * fraction, where fraction is the fractional part of the index surrounded by i and j

对于您的具体情况,第 25 个分位数来自:

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

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

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

如果你把插值方法设置为“中点”,那么你就会得到你想到的结果。

.

关于Python Pandas - 如何通过 describe 函数计算 25 个百分位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39567712/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com