Выбор ответа Senior Даты и время обновлено

Скорость pd.to_datetime

Вопрос

На 50 млн строк pd.to_datetime(df["ts"]) работает очень долго, все строки в одном формате 2026-10-15 13:45:00. Что поможет сильнее всего?

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

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

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

Коротко

Правильный ответ: Явный format="%Y-%m-%d %H:%M:%S", а лучше Parquet с типом datetime. Явный формат избавляет от угадывания и включает быстрый путь разбора.

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

  1. Разбирать строки через apply(datetime.strptime) построчно
  2. Передать errors="coerce", чтобы не проверять каждую строку
  3. Явный format="%Y-%m-%d %H:%M:%S", а лучше Parquet с типом datetimeправильный ответ
  4. Передать dayfirst=True, чтобы разбор шёл по короткому пути

Разбор

Явный формат избавляет от угадывания и включает быстрый путь разбора. Ещё лучше хранить даты в Parquet: там они уже бинарные, и разбора нет вообще. apply со strptime медленнее в разы. coerce и dayfirst на скорость почти не влияют.

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

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

Термины по теме