Кумулятивная сумма с условиями (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

