繁体   English   中英

如何在熊猫groupby中添加“ all”组

[英]How to add an “all” group in pandas groupby

我有一个要按组分析的数据框。 通过以下操作,我可以轻松做到这一点。 但我也想添加一个“所有”组,而不必制作额外的数据副本。 因此,我想添加另一个包含所有内容的组,而不是2个单独的不相交的组。 用例是我要遍历每个组和所有组以使所有内容可读。

df=pd.DataFrame({'A': ['good', 'good', 'bad'], 'B' :[4,2,1], 'C':[10,10,10]})
df_groups=df.groupby('A')
for group, df in df_groups:
    print group
    //do group level computation

例如我想用类似的方法进行迭代

for group, df in zip(df_groups.groups.keys() + ['all'], df_groups.groups.values() + df_groups.groups.values()):
    print group
    //do group level computation. This time on each group, and also an all group.

您可以将pivot_table函数的margin参数设置为True以获取总计(“全部”)。

df = pd.DataFrame({'A': ['good', 'good', 'bad'], 'B' :[4,2,1], 'C':[10,10,10]})

pd.pivot_table(df, index=['A'], aggfunc=np.sum, margins=True)

      B   C
A          
bad   1  10
good  6  20
All   7  30

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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