对于在数据帧中的给定的数据集,当我应用describe
功能时,得到基本统计资料,其中包括最小值,最大值,25%,50%等计算Python的熊猫 - 如何25百分位数由描述函数
例如:
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
我的问题是:什么是数学公式吨o计算25%?
1)根据我所知道的,那就是:
formula = percentile * n (n is number of values)
在这种情况下:
25/100 * 4 = 1
所以第一个位置是4号,但根据描述功能是5.5
。
2)另一个例子说 - 如果你得到一个整数,然后取4和6的平均值 - 这将是5 - 仍然不符合5.5
描述。
3)另教程说 - 你花2号之间的差别 - 25%乘法和加法到较低的数字:
25/100 * (6-4) = 1/4*2 = 0.5
并称,在较低的数字:4 + 0.5 = 4.5
仍没有得到5.5
。
有人可以澄清?
是不是这个'(最大 - 最小)/ 4'?所以10-4 = 6然后除以4得到1.5,然后设置为4和10之间的间隔? – EdChum
我认为它内部使用numpy,检查百分点代码在这里https://github.com/numpy/numpy/blob/b91e8d8f164731bb710cc1e5173cc8ec3f8fadf5/numpy/lib/function_base.py#L3796 –
开源的美丽是,你可以检查编码自己。根据[describe]的代码(https://github.com/pydata/pandas/blob/37f95cef85834207db0930e863341efb285e38a2/pandas/core/generic.py#L5181),它会调用系列'['quantile' method](https ://github.com/pydata/pandas/blob/37f95cef85834207db0930e863341efb285e38a2/pandas/core/series.py#L1345)。文档字符串有你的答案。 – IanS