熊猫:根据列值汇总表

时间:2016-07-10 00:52:23

标签: python pandas dataframe

我的Pandas Dataframe采用以下格式:

A    5
A    7
A    4
B    2
B    7
C    8

我怎么能总结一下:

A    16
B    9
C    8   

2 个答案:

答案 0 :(得分:4)

您可以使用groupby

  col1  col2
0   A   5
1   A   7
2   A   4
3   B   2
4   B   7
5   C   8

df.groupby('col1')['col2'].sum()
col1
A    16
B     9
C     8

如果您希望保持列不变,正如您在评论中提到的那样,您可以将groupby对象转换为新的数据框,如果这是您的意思。所以,你可以这样做:

new = pd.DataFrame({'col2' : df.groupby('col1')['col2'].sum()}).reset_index()
new
  col1  col2
0   A   16
1   B   9
2   C   8 

答案 1 :(得分:1)

我认为您可以使用pivot_table作为聚合函数使用sum

In [9]: df
Out[9]: 
   0  1
0  A  5
1  A  7
2  A  4
3  B  2
4  B  7
5  C  8

In [10]: df.pivot_table(index=0, aggfunc=sum).reset_index()
Out[10]: 
   0   1
0  A  16
1  B   9
2  C   8