首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >熊猫每一行都有上、下栅栏

熊猫每一行都有上、下栅栏
EN

Stack Overflow用户
提问于 2019-10-31 12:06:16
回答 3查看 1K关注 0票数 3

我的输入数据是;

代码语言:javascript
运行
复制
Grp          A          B       C
Men          10         15      20
Women        15         10      25
Baby         5          10      20
Men          3          8       25
Men          7          5       30
Baby         5          2       8
Women        10         6       3

我如何才能为独特的群体得到这个上、下栅栏?

期望的输出是;

代码语言:javascript
运行
复制
GRP        Upper_A     Lower_A      Upper_B     Lower_B   Upper_C   Lower_C
Men
Women
Baby

你能帮我一下吗?PS:上下值是方框值和晶须值。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-10-31 12:22:45

GroupBy.aggSeries.quantile一起使用,指定新的列名,然后通过f-string使MultiIndex变平:

代码语言:javascript
运行
复制
df = df.groupby('Grp').agg([('Upper', lambda x: x.quantile(.75)), 
                            ('Lower',lambda x: x.quantile(.25))])
df.columns = [f"{b}_{a}" for a,b in df.columns]
print (df)
       Upper_A  Lower_A  Upper_B  Lower_B  Upper_C  Lower_C
Grp                                                        
Baby      5.00     5.00      8.0      4.0     17.0     11.0
Men       8.50     5.00     11.5      6.5     27.5     22.5
Women    13.75    11.25      9.0      7.0     19.5      8.5
票数 1
EN

Stack Overflow用户

发布于 2019-10-31 12:18:08

使用:

代码语言:javascript
运行
复制
new_df=( df.groupby('Grp').agg(Upper_A=('A','max'),Lower_A=('A','min'),
                             Upper_B=('B','max'),Lower_B=('B','min'),
                             Upper_C=('C','max'),Lower_C=('C','min'))
         .reset_index() )
print(new_df)



     Grp  Upper_A  Lower_A  Upper_B  Lower_B  Upper_C  Lower_C
0   Baby        5        5       10        2       20        8
1    Men       10        3       15        5       30       20
2  Women       15       10       10        6       25        3
票数 1
EN

Stack Overflow用户

发布于 2019-10-31 12:20:45

可以使用组并将索引扁平化。

代码语言:javascript
运行
复制
new_df = df.groupby("GRP").agg("min","max")
new_df.columns = [f"{c}_{a}" for c,a in new_def.columns]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58643015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档