Метод Pandas to_datetime() помогает нам преобразовать строку в Python в объект времени Datetime, чтобы операции можно было выполнять без каких-либо проблем. Pandas to_datetime() очень полезен, если мы работаем с наборами данных, в которых задействован фактор времени.
Когда мы работаем с такими наборами данных, время обычно упоминается как строка. Таким образом, выполнение операций со временем, таких как вычисление разницы во времени, невозможно для строк. Поэтому становится необходимым преобразовать тип строки в формат даты и времени.
Синтаксис
|
1 2 |
pandas.to_datetime(arg, errors=’raise’,dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin=’unix’, cache=False) |
Параметры
Функция to_datetime() имеет следующие параметры.
- arg: обычно это int, float, string, datetime, list, tuple, 1D array, Series. Это объект, который должен быть преобразован в дату и время.
- errors: может иметь 3 значения: 1-е — «ignore», 2-е — «raise», 3-е — «coerce». По умолчанию его значение равно «raise». Если значение этого параметра установлено на «ignore», тогда неверный синтаксический анализ вернет ввод. Если «raise», то неверный синтаксический анализ вызовет исключение. Если «coerce», то недопустимый синтаксический анализ будет установлен на NaT.
- dayfirst: принимает логическое значение; он ставит день первым, если значение этого параметра истинно.
- yearfirst: соответствует логическому значению; он ставит год первым, если значение этого параметра истинно.
- UTC: это также логическое значение, оно возвращает время в формате UTC, если для значения установлено значение true.
- format: это строковый ввод, который сообщает положение дня, месяца и года.
- exact: Это также логическое значение, если true требует точного соответствия формата, в противном случае позволяет формату соответствовать где угодно в целевой строке.
- unit: это строка с единицами измерения аргументов(D,s, ms, us, ns), обозначающая единицу измерения, которая является целым числом или числом с плавающей запятой. По умолчанию это «ns».
- infer_datetime_format: это логическое значение, если оно истинно и не задан формат данных; он пытается вывести формат строк даты и времени.
- Origin: используется для определения исходной даты.
- cache: это логическое значение; если это правда, он использует кеш уникальных преобразованных дат для применения преобразований даты и времени.
Возвращаемое значение
Тип возврата зависит от ввода:
- Похожий на список: DatetimeIndex
- Серия: Серия datetime64 dtype
- Скаляр: Timestamp
По сути, возвращает серию объектов даты и времени.

Пример программы с Pandas to_datetime()
Напишите программу, показывающую работу to_datetime().
|
1 2 3 4 5 6 7 8 9 10 |
import pandas as pd data = pd.DataFrame({'year': [2015, 2016, 2017, 2018, 2019, 2020], 'month': [2, 3, 4, 5, 6, 7], 'day': [4, 5, 6, 7, 8, 9]}) print(data) print("\n\n") x = pd.to_datetime(data) print(x) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
year month day 0 2015 2 4 1 2016 3 5 2 2017 4 6 3 2018 5 7 4 2019 6 8 5 2020 7 9 0 2015-02-04 1 2016-03-05 2 2017-04-06 3 2018-05-07 4 2019-06-08 5 2020-07-09 dtype: datetime64[ns] |
Здесь, в приведенном выше примере, мы видим, что мы создали DataFrame, используя pandas, который имеет значения года, месяца и дня. После этого мы использовали функцию to_datetime() для преобразования его в формат даты, затем мы сохранили его в другом DataFrame и, наконец, напечатали желаемый DataFrame.
Если дата не соответствует ограничениям временной метки, передача errors=’ignore’ вернет исходный ввод, а не вызовет исключение.
Передача error=’coerce’ приведет к тому, что дата за пределами допустимых значений будет переведена в NaT, в дополнение к тому, что не-даты (или даты, не поддающиеся анализу) будут переведены в NaT.
