Pandas.crosstab () на реальном примере

Задача получить CSV в котором будут сгруппированны данные по USER_ID и DATE_PAYMENT_MONTH, чтобы в результате понять какой пользователь нам платит каждый месяц, сколько пользователь портатил на услугу и далее с ними как-то прокоммуницировать.

Для решение задачи буду использовать Pandas.crosstab ()

Скачать можно здесь. Анонимный датасет из 3х колонок

  1. USER_ID — ИД пользователя
  2. DATE_PAYMENT_MONTH — месяц когда пользователь сделал оплату
  3. SUM — сумма заказа

Решение задачи.

1. Импортировать pandas и прочитать файл

import pandas as pd
df = pd.read_csv('dataset.csv')

2. Воспользоваться Pandas.crosstab () для получения отчета:

pd.crosstab(df['USER_ID'], df['DATE_PAYMENT_MONTH'], df['SUM'], aggfunc='sum')

3. В итоге получается наглядная сводная таблица с данными. В качестве USER_ID можно использовать почту или телефон пользователя и группировать по ним, ну а далее перенести это например в Esputnik и отправить рассылку 🙂 В общем поле ограничего вашей фантазией

Если у вас есть вопросы — пишите в комментарии и обсудим.