pandasСкользящие окнаHardPremium~12 мин

Lag/lead через shift: разница с предыдущим заказом

// Условие

Для каждого юзера и его заказов нужно посчитать time-gap до следующего заказа. Полезно для churn-prediction и user-segmentation: если дельта растёт — юзер уходит.

Что нужно
Для каждого user_id отсортируй заказы по order_date и добавь три колонки:
  • prev_order_date — дата предыдущего заказа этого юзера (NaT для первого);
  • days_since_prev — дней с предыдущего заказа (float, NaN для первого);
  • next_amount — amount следующего заказа этого юзера (float, NaN для последнего).
Верни DataFrame со всеми исходными колонками + 3 новыми. Сортировка: user_id asc, order_date asc.

// Данные

df: order_id, user_id, order_date, amount
▶ Решить в pandas-тренажёре

// Решение

🔒

Решение, подсказки и автопроверка этой задачи — по подписке Premium. Вместе с ней открываются все премиум-задачи трёх тренажёров: SQL, pandas и A/B.

★ Открыть Premium

// Похожие задачи