groupby + sum / mean / ect然后按值分组是否返回到原始数据帧中的原始未分组索引?

时间:2020-06-27 01:57:22

标签: python pandas

我正在按值分组,然后稍后合并回到原始表中。我想知道是否有任何方法可以避免这样做。

就像我有一张桌子一样

a b v
A A 9
A B 3
A A 2
B B 4
B B 3

我想得到:

a b v
A A 11
A B 3
A A 11
B B 7
B B 7

其中新v是由a和b分组时的旧v的总和,而没有唯一对的w被分组后就会消失。

现在我将进行分组,然后加入如下所示的代码:

test = df.groupby([a,b]).sum()
test.name = new_name
df.join(test, on = [a,b], how = 'left')

似乎有些人为的想法,我想知道是否有办法避免甚至必须加入。

1 个答案:

答案 0 :(得分:3)

尝试使用transform

df['v']=df.groupby(['a','b']).v.transform('sum')
df
   a  b   v
0  A  A  11
1  A  B   3
2  A  A  11
3  B  B   7
4  B  B   7