如何根据多列将两行合并为一行?

时间:2017-08-07 01:07:39

标签: python pandas

以下是一个例子:

Column A   Column B   Column C
   A_1        B_1       0
   A_1        B_1       1
   A_1        B_2       2
   A_1        B_2       3

我想得到:

Column A   Column B   Column C
   A_1        B_1       1
   A_1        B_2       5

我尝试了df.groupby(["Column A", "Column B"])["Column C"].sum()但是我返回了一个Series对象,其中索引基于(Column A, Column B),列Column C,并且数字是连接而不是求和。

1 个答案:

答案 0 :(得分:3)

调用df.groupby时,请指定as_index=False,以便列不会转换为Index。您可以在分组后使用df.agg

In [990]: df.groupby(["Column A", "Column B"], as_index=False).agg('sum')
Out[990]: 
  Column A Column B  Column C
0      A_1      B_1         1
1      A_1      B_2         5