在Pandas Groupby中总结一列

时间:2016-05-18 15:47:47

标签: python pandas dataframe group-by

我希望按列A进行分组,并对C列求和,并将结果立即返回到数据框中。我知道我需要使用groupby,而且我知道我需要使用sum,但我无法弄清楚如何让这些函数无缝地交互并在一行代码中。

有无

    A    B      C
0   x   text    3
1   x   text    7
2   y   text    5

    A    B      C    D
0   x   text    3    10
1   x   text    7    10
2   y   text    5    5

1 个答案:

答案 0 :(得分:3)

groubpy上致电transform,将汇总列添加回原来的df:

In [28]:
df['D'] = df.groupby('A')['C'].transform('sum')
df

Out[28]:
   A     B  C   D
0  x  text  3  10
1  x  text  7  10
2  y  text  5   5

transform返回一个系列,其索引与原始df对齐,因此您可以将其添加为新列