0Pricing
Data Science Academy · Урок

Преобразование строк в даты и время

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 — локальная установка не требуется.

Все уроки этого курса

  1. Преобразование строк в даты и время
  2. Извлечение года, месяца и дня недели
  3. Изменение частоты до дневной или месячной
  4. Часовые пояса и диапазоны дат
← Назад к Data Science Academy