У меня есть набор данных, в котором я хотел бы суммировать два столбца, а затем выполнить вычитание, отображая кумулятивную сумму
Данные
id date t1 t2 total start cur_t1 cur_t2 final_o finaldb de_t1 de_t2
a q122 4 1 5 50 25 20 55 21 1 1
a q222 1 1 2 50 25 20 57 22 0 0
a q322 0 0 0 50 25 20 57 22 5 5
b q122 5 5 10 100 30 40 110 27 4 4
b q222 2 2 4 100 30 70 114 29 5 1
b q322 3 4 7 100 30 70 121 33 0 1
Желаемый
id date t1 t2 total start cur_t1 cur_t2 final_o finaldb de_t1 de_t2 finalt1
a q122 4 1 5 50 25 20 55 21 1 1 28
a q222 1 1 2 50 25 20 57 22 0 0 29
a q322 0 0 0 50 25 20 57 22 5 5 24
b q122 5 5 10 100 30 40 110 27 4 4 31
b q222 2 2 4 100 30 70 114 29 5 1 28
b q322 3 4 7 100 30 70 121 33 0 1 31
Логика
Create 'finalt1' column by summing 't1' and 'cur_t1'
initially and then subtracting 'de_t1' cumulatively and grouping by 'id' and 'date'
Выполнение
df['finalt1'] = df['cur_t1'].add(df.groupby('id')['t1'].cumsum())
Я все еще изучаю, как кумулятивно вычитать столбец 'de_t1'. Любое предложение приветствуется
Разве ваш ожидаемый результат неверен в соответствии с логикой? думаете это будет
[28,26,20,31,27,33]
?