Я пытаюсь собрать «значение» для «флага» == 2 и добавить эти кумулятивные значения в последовательные строки «флага» == 1 и удалить флаг 2 строки.
Ввод
Index_Date flag value
========================
2020-01-31 1 10
2020-02-01 2 5
2020-02-02 1 10
2020-02-03 2 5
2020-03-04 1 20
Желаемый вывод
Index_Date flag value
========================
2020-01-31 1 10
2020-02-02 1 15
2020-03-04 1 30
достиг вышеуказанного результата путем итерации.
import pandas as pd
df = df.sort_values(by=['Index_Date'])
adjustments = 0
for index, row in df.iterrows():
if row['flag'] == 2:
adjustments += row['value']
else:
row['value'] += adjustments
df.drop(df[df['flag'] == 2].index, inplace = True)
Есть ли способ достичь этого без итерации? Спасибо.