我有一个我希望按组分析的数据框。我可以通过以下方式轻松完成。但我也想添加一个" all"组无需制作额外的数据副本。因此,我想添加另一个包含所有内容的组,而不是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.
答案 0 :(得分:1)
您可以将margin
功能的pivot_table
参数设置为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