[英]Pandas groupby add value of one line in group to all lines of the group
[英]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.