Это мой фрейм данных:
df = pd.DataFrame({'a':[100, 105, 110, 150, 160], 'b':[2,2,1,3,2], 'c':[200, 210, 110, 450, 300], 'x':[0,0,0,1,1]})
a b c x
0 100 2 200 0
1 105 2 210 0
2 110 1 110 0
3 150 3 450 1
4 160 2 300 1
Я добавляю этот столбец следующим образом:
df['csum'] = df.groupby('x')['c'].cumsum()
Я хочу добавить еще один столбец, который показывает разницу (в процентах) между последними csum
из 0 (что составляет 520) и последний csum
из 1 (что составляет 750).В этом случае разница составляет 44,23 процента.Мой желаемый результат выглядит так:
a b c x csum result
0 100 2 200 0 200 44.23
1 105 2 210 0 410 44.23
2 110 1 110 0 520 44.23
3 150 3 450 1 450 44.23
4 160 2 300 1 750 44.23