Кумулятивная сумма с условиями (Python)

У меня есть плоская таблица без иерархий, где перечислены некие события разбитые по дням и по двум признакам.

введите сюда описание изображения

Мне необходимо добавить еще одну колонку, где будет кумулятивная сумма по дням, но эта сумма должна учитывать Признак 1 и Признак 2. Желаемый результат выглядит так:

введите сюда описание изображения

Я пытался сделать это с помощью лямбда-функции, но она суммирует без учета признаков, просто по дням.

AAB_test.apply(lambda x: AAB_test[ (AAB_test['date'] <= x['date']) | (AAB_test['group'] == x['group']) | (AAB_test['event_name'] == x['event_name']) ].agg({'date':'max','daily_users':'sum'}),axis=1)


Ответы (1 шт):

Автор решения: collob

вот такой код будет работать

AAB_test['cumsum_users'] = AAB_test.apply(lambda x: AAB_test[ (AAB_test['date'] <= x['date']) & (AAB_test['group'] == x['group']) & (AAB_test['event_name'] == x['event_name'])].agg({'date' : 'max', 'daily_users' : 'sum'}), axis=1).daily_users
→ Ссылка