[英]Percentile range output across multiple columns in python/pandas
我有一个数据集 df,我想在其中展示列中给定值的第 60、第 70 和第 90 个百分位值
数据
type value
Hello 1
Hello 2
Hello 3
Hello 5
Hello 5
Hello 6
Hello 8
Hello 8
Hello 3
OK 1
OK 1
OK 2
OK 2
期望的
type 0.6 0.7 0.9
Hello 5 5.6 8
OK 1.8 2 2
正在做
我的方法是在 numpy 中使用百分位数 function:
import numpy as np
print np.percentile(df,60)
print np.percentile(df,70)
print np.percentile(df,90)
但是,这可行,output 单独显示这些值,并且不维护数据集中的其他列
>>> df
type value
0 Hello 1
1 Hello 2
2 Hello 3
3 Hello 5
4 Hello 5
5 Hello 6
6 Hello 8
7 Hello 8
8 Hello 3
9 OK 1
10 OK 1
11 OK 2
12 OK 2
>>> df.groupby("type").quantile([0.6, 0.7, 0.9]).unstack(1)
value
0.6 0.7 0.9
type
Hello 5.0 5.6 8.0
OK 1.8 2.0 2.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.