У меня есть фрейм данных следующей формы:
|----------|----|------|
|date |type|inflow|
|----------|----|------|
|2017-01-01|I | 3500|
|2017-02-01|A | 23|
|2017-07-01|A | 44|
|2017-09-01|A | 55|
|2017-12-01|A | 12|
|2018-01-01|I | 3800|
|2018-03-01|A | 87|
|2018-05-01|A | 34|
|2018-07-01|A | 23|
|----------|----|------|
I - начальный приток, а As - дополнительные притоки. Они не обязательно сгруппированы по годам, а даты могут быть произвольными. Мне нужна кумулятивная сумма в каждой строке, начиная с последнего раза, когда я встречаю I. Таким образом, кумулятивная сумма должна сбрасываться, когда я сталкиваюсь с другим I. Если это помогает, максимальное количество As между двумя Is может быть 5.
Я попытался использовать apply и rollapply, но не смог понять, как применить их к непоследовательному скользящему окну. Как это сделать, используя Pandas?