Фантастический сumsum() ⭐️
Если нужно посчитать кол-во дней от момента регистрации клиента до первых 100 тыс. за месяц, то можно сделать это через волшебную, фантастическую функцию сumsum. 🐍
SQL выгрузкой вытаскиваем данные о номере клиента, дате его регистрации, дате оплаты, ну и сумму его выручки конечно. Отсортировано по order by account_id, payment_date. То есть сверху будут самые ранние даты выручки. Получаем вот такой df с колонками:
|account_id) | account_reg_date |payment_date|amount|
✏️ Группируем по аккаунту, создаем новую колонку с кумулятивной суммой, то есть которая накапливается (см.пример на скрине)
df['cumsum_amount'] = df.groupby(['account_id '])['amount'].cumsum()
✏️ Потом мы оставляем только те строки, где накопленная выручка больше или равна ста тысяч
df_100k = df[df.cumsum_amount >= 100000]
Продолжение ->
Post #58
2.33K

- 👍 10
- 🔥 3
- 😍 1