У меня есть данные, которые выглядят так, как показано ниже
id var window
1 0 3
1 0 3
1 9 3
1 1 3
1 0 3
1 10 5
1 0 12
2 0 12
2 3 4
2 0 12
2 5 12
Что я хотел бы сделать, так это вычислить скользящую сумму groupby по "id", исходя из значения "var".Если «var» не равен нулю, вычисляется скользящая сумма, длина скользящего окна берется из столбца «window»;если «var» равно нулю, скользящая сумма равна 0.
Ниже приведены желаемые результаты
id var window roll_sum
1 0 3 0
1 0 3 0
1 9 3 9
1 1 3 10
1 0 3 0
1 10 5 20
1 0 12 0
2 0 12 0
2 3 4 3
2 0 12 0
2 5 12 8
Кто-нибудь может помочь?