Spec-Zone.ru › pandas 0.19

pandas.to_datetime

pandas.to_datetime(*args, **kwargs) [source]

Преобразование аргумента в дату и время.

Параметры:

arg : строка, datetime, список, кортеж, одномерный массив, Series

errors : {‘ignore’, ‘raise’, ‘coerce’}, по умолчанию ‘raise’

  • Если ‘raise’, некорректный разбор вызовет исключение
  • Если ‘coerce’, некорректный разбор будет установлен как NaT
  • Если ‘ignore’, некорректный разбор вернёт исходное значение

dayfirst : boolean, по умолчанию False

Укажите порядок разбора даты, если arg является строкой или списком. Если True, разбирает даты с днём впереди, например, 10/11/12 будет разобран как 2012-11-10. Предупреждение: dayfirst=True не является строгим, но будет предпочитать разбор с днём впереди (это известный баг, основанный на поведении dateutil).

yearfirst : boolean, по умолчанию False

Укажите порядок разбора даты, если arg является строкой или списком.

  • Если True, разбирает даты с годом впереди, например, 10/11/12 будет разобран как 2010-11-12.
  • Если оба dayfirst и yearfirst True, yearfirst имеет приоритет (также как и в dateutil).

Предупреждение: yearfirst=True не является строгим, но будет предпочитать разбор с годом впереди (это известный баг, основанный на поведении dateutil).

utc : boolean, по умолчанию None

Возвращает UTC DatetimeIndex, если True (преобразуя любые tz-aware datetime.datetime объекты также).

box : boolean, по умолчанию True

  • Если True, возвращает DatetimeIndex
  • Если False, возвращает массив значений.

format : строка, по умолчанию None

strftime для разбора времени, например, “%d/%m/%Y”, обратите внимание, что “%f” будет разбирать до наносекунд.

exact : boolean, True по умолчанию

  • Если True, требуется точное соответствие формату.
  • Если False, формат может соответствовать любому месту в целевой строке.

unit : строка, по умолчанию ‘ns’

единица измерения arg (D,s,ms,us,ns) обозначает единицу в эпохе (например, метка времени Unix), которая представляет собой целое или вещественное число.

infer_datetime_format : boolean, по умолчанию False

Если True и format не указано, попытайтесь определить формат строк даты и времени, и если он может быть определен, переключитесь на более быстрый метод их разбора. В некоторых случаях это может увеличить скорость разбора на ~5-10x.

Возвращает:

ret : datetime, если разбор успешен.

Тип возвращаемого значения зависит от входных данных:

  • list-like: DatetimeIndex
  • Series: Series типа datetime64
  • скаляр: Timestamp

В случае, когда невозможно вернуть указанные типы (например, когда любой элемент входа предшествует Timestamp.min или следует за Timestamp.max), возвращаемое значение будет иметь тип datetime.datetime (или соответствующий массив/Series).

Примеры

Собирая дату и время из нескольких столбцов DataFrame. Ключи могут быть общими сокращениями, такими как [‘год’, ‘месяц’, ‘день’, ‘минута’, ‘секунда’, ‘мс’, ‘мкс’, ‘нкс’]) или множественным числом того же

>>> df = pd.DataFrame({'year': [2015, 2016],
                       'month': [2, 3],
                       'day': [4, 5]})
>>> pd.to_datetime(df)
0   2015-02-04
1   2016-03-05
dtype: datetime64[ns]

Если дата не соответствует ограничениям метки времени, передача errors=’ignore’ вернёт исходный ввод, вместо повышения исключения.

Передача errors=’coerce’ принудительно установит дату вне диапазона в NaT, помимо принудительного установки не дат (или неразборных дат) в NaT.

>>> pd.to_datetime('13000101', format='%Y%m%d', errors='ignore')
datetime.datetime(1300, 1, 1, 0, 0)
>>> pd.to_datetime('13000101', format='%Y%m%d', errors='coerce')
NaT

Передача infer_datetime_format=True часто может ускорить разбор, если это не формат ISO8601 точно, но в регулярном формате.

>>> s = pd.Series(['3/11/2000', '3/12/2000', '3/13/2000']*1000)
>>> s.head()
0    3/11/2000
1    3/12/2000
2    3/13/2000
3    3/11/2000
4    3/12/2000
dtype: object
>>> %timeit pd.to_datetime(s,infer_datetime_format=True)
100 loops, best of 3: 10.4 ms per loop
>>> %timeit pd.to_datetime(s,infer_datetime_format=False)
1 loop, best of 3: 471 ms per loop

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.19.2/generated/pandas.to_datetime.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API