Выбор ответа Middle Даты и время спрашивают часто обновлено
resample против groupby по дате
Вопрос
Чем df.resample("D", on="ts")["amount"].sum() отличается от df.groupby(df["ts"].dt.date)["amount"].sum()?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: resample создаёт все дни диапазона (пустые с 0), groupby только дни со строками. resample строит сетку периодов от минимума до максимума, поэтому дни без событий появляются с нулём (для суммы) или NaN (для среднего). groupby по дате знает только встретившиеся значения.
Варианты ответа
resampleсоздаёт все дни диапазона (пустые с 0),groupbyтолько дни со строкамиправильный ответ- Ничем: это синонимы, и результат совпадает до последней строки и порядка индекса
groupbyбыстрее и сам учитывает часовой пояс колонки при выделении даты изtsresampleработает только с индексом и не принимает параметрon
Разбор
resample строит сетку периодов от минимума до максимума, поэтому дни без событий появляются с нулём (для суммы) или NaN (для среднего). groupby по дате знает только встретившиеся значения. Часовые пояса обрабатываются одинаково, а on= у resample есть.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.