This is trivial, but I can't figure it out and I'm not sure what to search for. Best described by code:
Data frame:
df = pd.DataFrame(data={'class': ['a','a','a','b','b'],
'score': [1,0,1,1,0]})
class score
0 a 1
1 a 0
2 a 1
3 b 1
4 b 0
Desired output:
class score gsum
0 a 1 2
1 a 0 2
2 a 1 2
3 b 1 1
4 b 0 1
Dumb way:
xd = []
for n,g in df.groupby('class'):
xd.append([sum(g['score']) for _ in len(g['score'])])
df['gsum'] = [item for sublist in xd for item in sublist]
Smart way: ?