Выбор ответа Senior Окна и сдвиги обновлено

shift по позиции и по времени

Вопрос

Дневной ряд с DatetimeIndex, некоторые дни пропущены. Чем s.shift(1) отличается от s.shift(freq="D")?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: shift(1) двигает значения на строку, freq="D" двигает метки. shift(1) двигает значения по позициям: после пропуска «вчера» окажется позавчера. shift(freq="D") прибавляет сутки к каждой метке индекса, значения остаются при своих датах, а сравнение со «вчера» делается выравниванием по датам.

Варианты ответа

  1. Ничем при дневных данных: оба сдвигают ряд на один день
  2. shift(freq="D") сдвигает на сутки и заполняет пропущенные дни нулями
  3. shift(1) сдвигает метки индекса, а значения оставляет на месте
  4. shift(1) двигает значения на строку, freq="D" двигает меткиправильный ответ

Разбор

shift(1) двигает значения по позициям: после пропуска «вчера» окажется позавчера. shift(freq="D") прибавляет сутки к каждой метке индекса, значения остаются при своих датах, а сравнение со «вчера» делается выравниванием по датам. Нулями пропуски не заполняются, а сдвиг индекса делает как раз вариант с freq.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.