У меня есть таблица, которая состоит из 3 столбцов:
- merchant_id
- week_id
- customer_id
Для каждого продавца икаждую неделю я хотел бы получать список отдельных клиентов за предыдущие 4 недели в Pandas.
Я знаю, что в HiveSQL / SparkSQL мы можем использовать
collect_set(customer_id) over ( partition by merchant_id order by week_id between 4 preceding and 0 preceding)
для сбора отдельных customer_id
s внутри движущегося окна.
Возможно ли сделать это аналогично локально в Pandas?
Если бы это было на текущей неделе, это просто сделало бы groupby
, новопрос в том, как это сделать за ПРЕДЫДУЩИЕ N недель.
Если говорить еще дальше, что если week_id
s не являются смежными, скажем, в течение определенных недель у продавца нет покупателей?