Преобразование строк в даты и время
to_datetime и обработка форматов
«Преобразование строк в даты и время» — бесплатный урок Data Science Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Data Science Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Data Science Academy содержит 4 уроков всего.
Даты скрываются в виде текста
При загрузке CSV даты обычно представлены обычными строками. Они выглядят правильно, но pandas воспринимает их как текст, поэтому вычисления с датами пока не работают. 📅
Знакомство с to_datetime
Решение — одна функция: pd.to_datetime. Она просматривает текст и превращает каждое значение в настоящую временную метку, с которой pandas умеет выполнять вычисления.
import pandas as pd
ts = pd.to_datetime("2024-03-15")
print(ts)Преобразование целого столбца
Передайте Series и получите столбец временных меток. Это обычный шаг сразу после загрузки таблицы со столбцом дат.
df["date"] = pd.to_datetime(df["date"])Проверка dtype
После преобразования dtype столбца становится равным datetime64. Эта простая проверка показывает, что разбор действительно выполнен и вычисления с датами теперь доступны.
print(df["date"].dtype) # datetime64[ns]Много форматов, один вызов
to_datetime умеет распознавать разные записи: даты ISO, даты с косыми чертами и даже написанные словами месяцы. Для аккуратных строк ISO обычно не нужно указывать ничего дополнительно.
pd.to_datetime(["2024-01-01", "Jan 2, 2024"])Явное указание формата
Если даты неоднозначны, задайте явную строку format. Это исключает предположения и значительно ускоряет обработку больших столбцов.
pd.to_datetime("15/03/2024", format="%d/%m/%Y")Даты с указанием дня первым
03/04 — это март или апрель? Установите dayfirst=True, чтобы pandas читал сначала день, а затем месяц, как принято в большинстве европейских форматов дат.
pd.to_datetime("03/04/2024", dayfirst=True)Некорректные значения без сбоев
Одна неаккуратная ячейка может нарушить разбор всего столбца. Используйте errors="coerce", чтобы превращать неразбираемые значения в NaT, а не вызывать ошибку.
pd.to_datetime("not-a-date", errors="coerce") # NaTЗнакомство с NaT
NaT — аналог NaN для дат и времени: отсутствующая временная метка. Найти такие неудачно разобранные значения можно с помощью isna и затем решить, как с ними поступить.
df["date"].isna().sum() # count failed parsesОбъединение частей даты и времени
У Вас есть отдельные столбцы даты и часа? Объедините их в одну строку, а затем выполните разбор. В результате получится одна аккуратная временная метка.
pd.to_datetime(df["day"] + " " + df["time"])Разбор при чтении
Этот шаг можно пропустить, выполнив разбор во время импорта. Передайте parse_dates в read_csv, и столбец сразу будет загружен как дата и время.
pd.read_csv("sales.csv", parse_dates=["date"])Быстрая проверка
В столбце дат есть несколько мусорных значений, которые нужно сохранить как пропуски.
Итоги: теперь Вы умеете разбирать даты
Вы превратили текст в настоящие временные метки с помощью pd.to_datetime, управляли форматами, обработали некорректные значения с помощью coerce и даже выполнили разбор при загрузке. Вычисления с датами теперь доступны. 🎉
Часто задаваемые вопросы
Урок «Преобразование строк в даты и время» бесплатный?
Да — полный текст урока «Преобразование строк в даты и время» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Data Science Academy, подпишись на CoddyKit PRO. Курс Data Science Academy содержит 4 уроков всего.
Чему я научусь в уроке «Преобразование строк в даты и время»?
to_datetime и обработка форматов Ты практикуешь Data Science Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Data Science Academy?
Предыдущий опыт не требуется. Data Science Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Преобразование строк в даты и время»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Data Science Academy?
Да. Каждый урок Data Science Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Преобразование строк в даты и время
- Извлечение года, месяца и дня недели
- Изменение частоты до дневной или месячной
- Часовые пояса и диапазоны дат