對於在數據幀中的給定的數據集,當我應用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