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: добавление дней в столбец даты
Last updated