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