1. 程式人生 > >dataframe計算分位數的值

dataframe計算分位數的值

P分位:P取0~1之間的任何數值

P分位所在位置計算公式:pos = 1+(n-1)*p

公式2:value=i+(j-i)*fraction

如:P分位的數值是指先將所有資料從大到小排列,若P分位的位置通過上述公式計算後為整數,則直接取P分位所在處的數值;若為小數,則表示該位置在兩個數之間,則用公式2計算出對應的值(分位距fraction為小數部分,i,j為分位前後的數值)

例子

df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),columns=['a', 'b'])

print(df.quantile(0.1))

<<<

計算a列pos = 1 + (4 - 1)*0.1 = 1.3 fraction = 0.3

ret = 1 + (2 - 1) * 0.3 = 1.3

計算b列

pos = 1.3 ret = 1 + (10 - 1) * 0.3 = 3.7