Pandas - dataframe groupby - 如何获取多列的总和

13 浏览
0 Comments

Pandas - dataframe groupby - 如何获取多列的总和

这个问题应该很简单,但不知为何我找不到适用的解决方案。

我有一个像这样的pandas dataframe:

index col1   col2   col3   col4   col5
0     a      c      1      2      f 
1     a      c      1      2      f
2     a      d      1      2      f
3     b      d      1      2      g
4     b      e      1      2      g
5     b      e      1      2      g

我想按col1和col2进行分组,并获取col3和col4的sum()由于数据无法聚合,可以删除col5

以下是输出的样式。我希望结果dataframe中同时包含col3col4col1col2是否作为索引的一部分并不重要。

index col1   col2   col3   col4   
0     a      c      2      4          
1     a      d      1      2      
2     b      d      1      2      
3     b      e      2      4      

我尝试过以下方法:

df_new = df.groupby(['col1', 'col2'])['col3', 'col4'].sum()

然而,这只返回了col4的聚合结果。

我迷失了。我找到的每个示例只聚合一个列,而这个问题显然不会出现。

0