繁体   English   中英

百分位范围 output 在 python/pandas 中的多个列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM