汇总具有重复列pandas的多个行

时间:2017-01-04 12:37:56

标签: python pandas

考虑此数据框

df = pd.DataFrame({'a': [1,2,1,3,4,2], 'c':['dd','ee','dd','as','ae','ee'], 'count':[5,9,1,6,8,3]})

   a   c  count
0  1  dd      5
1  2  ee      9
2  1  dd      1
3  3  as      6
4  4  ae      8
5  2  ee      3

正如您所看到的,列中有重复的内容' a' 1 and 2重复多次。

我想总结大熊猫的数量,就像在sql中我们做的那样。

我的最终df应该是这样的

   a   c  count
0  1  dd      6
1  2  ee      12
2  3  as      6
3  4  ae      8

我尝试使用 df = df.groupby('a')但它正在回归我

<pandas.core.groupby.DataFrameGroupBy object

2 个答案:

答案 0 :(得分:3)

ac需要groupby,汇总sum

df = df.groupby(['a','c'], as_index=False)['count'].sum()
print (df)
   a   c  count
0  1  dd      6
1  2  ee     12
2  3  as      6
3  4  ae      8

但是,如果仅需要列a列,则必须aggregate输出中需要的所有列 - 例如列cfirstcountsum汇总:

df = df.groupby('a').agg({'c':'first', 'count':'sum'}).reset_index()
print (df)
   a   c  count
0  1  dd      6
1  2  ee     12
2  3  as      6
3  4  ae      8

答案 1 :(得分:3)

你几乎拥有它

df.groupby(['a', 'c']).sum().reset_index()

产量

   a   c  count
0  1  dd      6
1  2  ee     12
2  3  as      6
3  4  ae      8