📆 Как преобразовать строку в дату с помощью pandas: простая инструкция

Чтобы преобразовать строку в дату в pandas, вы можете использовать функцию to_datetime. Вот пример кода:

import pandas as pd

# Создаем датафрейм с колонкой 'date_str' содержащей строки с датами
df = pd.DataFrame({'date_str': ['2022-01-01', '2022-02-01', '2022-03-01']})

# Преобразовываем столбец 'date_str' в тип данных даты
df['date'] = pd.to_datetime(df['date_str'])

# Выводим датафрейм
print(df)
    

Детальный ответ

Конвертирование строки в дату в библиотеке Pandas - это очень распространенная операция при анализе данных. Если вы работаете с данными, содержащими даты и времена, вероятно, вам придется преобразовывать строки в даты с помощью Pandas. Давайте разберемся, как это сделать.

Использование функции to_datetime

Pandas предоставляет функцию to_datetime, которая позволяет конвертировать строки в даты. Эта функция автоматически распознает множество форматов дат и времени и преобразует их в объекты типа datetime.

Если у вас есть Series или столбец DataFrame, содержащий строки с датами, вы можете использовать функцию to_datetime для преобразования этих строк в объекты типа datetime. Вот пример:

import pandas as pd

# Создание примера Series с датами в виде строк
dates = pd.Series(['2022-01-01', '2022-01-02', '2022-01-03'])

# Преобразование строк в даты с помощью функции to_datetime
converted_dates = pd.to_datetime(dates)

# Вывод результатов
print(converted_dates)

Результат:

0   2022-01-01
1   2022-01-02
2   2022-01-03
dtype: datetime64[ns]

Как видите, строки '2022-01-01', '2022-01-02' и '2022-01-03' были успешно преобразованы в объекты типа datetime.

Настройка формата даты

Функция to_datetime имеет множество параметров для настройки формата дат и времени. Например, вы можете указать формат даты с помощью параметра format.

Вот пример, который демонстрирует, как указать формат даты 'ГГГГ-ММ-ДД' с помощью параметра format:

import pandas as pd

# Создание примера Series с датами в виде строк
dates = pd.Series(['01-01-2022', '02-01-2022', '03-01-2022'])

# Преобразование строк в даты с указанием формата
converted_dates = pd.to_datetime(dates, format='%d-%m-%Y')

# Вывод результатов
print(converted_dates)

Результат:

0   2022-01-01
1   2022-01-02
2   2022-01-03
dtype: datetime64[ns]

С помощью параметра format вы указываете, что формат даты в строках - 'день-месяц-год'. Функция to_datetime теперь правильно интерпретирует строки и преобразует их в даты.

Обработка неверных значений

Если в исходных строках есть неверные значения, например, отсутствующие значения или неправильный формат даты, функция to_datetime может вызывать ошибки. Однако, в зависимости от ситуации, вы можете обрабатывать эти ошибки с помощью параметра errors.

Вот несколько возможных значений параметра errors:

  • errors='raise': по умолчанию. Если есть хотя бы одна неверная строка, функция вызовет ошибку.
  • errors='coerce': преобразует неверные строки в значения NaT (Not a Time). То есть, все неверные строки будут преобразованы в отсутствующие значения.
  • errors='ignore': игнорирует неверные строки и оставляет их в исходном виде.

Вот пример, который демонстрирует использование параметра errors:

import pandas as pd

# Создание примера Series с некорректными датами
dates = pd.Series(['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-XX'])

# Преобразование строк в даты с обработкой неверных значений
converted_dates = pd.to_datetime(dates, errors='coerce')

# Вывод результатов
print(converted_dates)

Результат:

0   2022-01-01
1   2022-01-02
2   2022-01-03
3   2022-01-04
4          NaT
dtype: datetime64[ns]

Здесь '2022-01-XX' является некорректной строкой с датой. Используя параметр errors='coerce', мы преобразуем эту неверную строку в значение NaT.

Заключение

В этой статье мы рассмотрели, как преобразовать строку в дату с помощью библиотеки Pandas. Мы обсудили использование функции to_datetime, настройку формата даты и обработку неверных значений. Теперь у вас есть инструменты, чтобы легко работать с датами в Pandas.

Видео по теме

Уроки Python / Модуль datetime

Раcчет стажа сотрудников Pandas Python формат дат

Разбор модуля datetime python

Похожие статьи:

📆 Как преобразовать строку в дату с помощью pandas: простая инструкция