Выбор ответа Junior Окна и сдвиги спрашивают часто обновлено
shift без groupby
Вопрос
В таблице заказов, отсортированной по user и ts, посчитали df["prev_ts"] = df["ts"].shift(1). В чём ошибка?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Первый заказ клиента получит дату заказа предыдущего клиента. Обычный shift ничего не знает о клиентах и сдвигает по всей таблице, протаскивая значения через границы групп.
Варианты ответа
- Первый заказ клиента получит дату заказа предыдущего клиентаправильный ответ
shiftне работает с датами, нужно сначала перевести в числа- Нужно было
shift(-1), чтобы взять предыдущий заказ клиента - Ошибки нет: сортировки по
userиtsдля этого достаточно
Разбор
Обычный shift ничего не знает о клиентах и сдвигает по всей таблице, протаскивая значения через границы групп. Нужен df.groupby("user")["ts"].shift(1): у первого заказа каждого клиента будет NaT. С датами shift работает, а shift(-1) даст следующий заказ, а не предыдущий.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.