Pandas to_datetime: Преобразование строки Pandas в дату и время

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

К концу этого учебного пособия вы узнаете:

  • Как использовать функцию Pandas to_datetime для преобразования столбца в дату и время

  • Как указать коды формата для преобразования строк в разные форматы

  • Преобразование целых чисел секунд и дат в дату и время в Pandas

Оглавление

Понимание функции Pandas to_datetime

Давайте начнем с изучения функции Pandas to_datetime(), которая позволяет передать серию Pandas для преобразования ее в дату и время. Функция предоставляет множество универсальных параметров, которые позволяют настроить поведение.

Давайте взглянем на эти параметры:

Как видно, функция имеет огромное количество доступных параметров. В этом учебном пособии мы сосредоточимся на основных параметрах, которые охватывают большинство случаев использования функции.

Используйте Pandas to_datetime для преобразования столбца в дату и время

Давайте начнем с простого преобразования строкового столбца в дату и время. Мы можем загрузить Pandas DataFrame ниже и вывести его типы данных с помощью метода info():

Хотя данные выглядят как даты, на самом деле они отформатированы как строки. Давайте посмотрим, как мы можем использовать функцию Pandas to_datetime для преобразования строки в дату и время.

Pandas смог распознать формат даты и корректно преобразовал строку в тип данных datetime. В следующем разделе вы узнаете, как задавать конкретные форматы.

Укажите форматы даты и времени в Pandas to_datetime

Часто бывает, что вы получаете столбец с датами в формате, который Pandas не может сразу определить. В таких случаях вы можете использовать параметр format=, чтобы указать конкретную строку формата. Эти строки следуют соглашениям strftime, которые распространены во многих языках программирования.

Загрузим DataFrame с необычной строкой форматирования:

Давайте использовать параметр format=, чтобы указать пользовательский формат:

Мы видим на примере выше, что задав пользовательскую строку формата, Pandas может правильно определить формат даты.

Преобразование целых дней Unix в DateTime в Pandas

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

По умолчанию Pandas будет использовать 'unix' origin, который представляет собой 1 января 1970 года в 00:00:00 UTC. Посмотрим, как мы можем преобразовать столбец целых чисел в объект даты и времени:

Поскольку Pandas использует 'unix' в качестве значения по умолчанию для origin=, нам не нужно было указывать это.

Преобразование целых секунд в DateTime в Pandas

В ситуациях, когда необходимо преобразовать значения целых чисел, представляющих секунды, это работает так же, как в приведенном выше примере, за исключением того, что необходимо указать unit='s' в качестве параметра:

В последнем разделе вы узнаете, как конвертировать несколько столбцов Pandas в datetime.

Преобразование нескольких столбцов Pandas в DateTime

Чтобы преобразовать несколько столбцов в datetime в Pandas, можно использовать сочетание функций Pandas apply и to_datetime. Метод .apply() применяется к разделу нескольких столбцов, а функция to_datetime() внутри него.

Давайте посмотрим, как мы можем сделать это с помощью Pandas:

В приведенном выше примере функция pd.to_datetime была передана методу .apply(), чтобы преобразовать несколько столбцов в формат даты и времени.

Заключение

В этом уроке вы узнали, как использовать функцию Pandas to_datetime для преобразования столбца в тип данных datetime. Вы узнали, как делать это с использованием строк и целых чисел. Вы также узнали, как преобразовать несколько столбцов в тип данных datetime с помощью метода .apply()

Дополнительные ресурсы

Чтобы узнать больше о связанных темах, ознакомьтесь с уроками ниже:

  • DateTime в Pandas и Python

  • Части даты и времени Pandas (месяц, год и т. д.)

  • Преобразование даты в строку в Python: объяснение strftime в Python

  • Pandas: добавление дней в столбец даты

Последнее обновление