English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Функции даты Pandas

Пример работы с датами Pandas

Расширение временных рядов, функции даты играют важную роль в анализе финансовой информации. При использовании данных по датам мы часто сталкиваемся с следующими ситуациями -

Генерация последовательности дат Преобразование последовательности дат в другую частоту

Создание диапазона дат

Используя функцию date.range() с указанием даты и частоты, мы можем создать последовательность дат. По умолчанию, частота диапазона - это день.

import pandas as pd
print(pd.date_range('1/1/2011', periods=5))

Результат выполнения следующим образом:

DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'], dtype='datetime64[ns]', freq='D')

Изменение частоты даты

import pandas as pd
print(pd.date_range('1/1/2011', periods=5, freq='M'))

Результат выполнения следующим образом:

 DatetimeIndex(['2011-01-31', '2011-02-28', '2011-03-31', '2011-04-30', '2011-05-31'], dtype='datetime64[ns]', freq='M')

bdate_range

bdate_range() представляет собой диапазон рабочих дней. В отличие от date_range(), он не включает субботу и воскресенье.

import pandas as pd
print(pd.date_range('1/1/2011', periods=5))

Результат выполнения следующим образом:

DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'],
    dtype='datetime64[ns]', freq='D')

Обратите внимание, что после 3 марта дата перепрыгивает до 6 марта (не включая 4 и 5 марта). Достаточно просто проверить даты в календаре.
Удобные функции, такие как date_range и bdate_range, используют множество частотных别名. По умолчанию, frequency date_range - это календарные дни, а frequency bdate_range - рабочие дни.

 import pandas as pd
 start = pd.datetime(2011, 1, 1)
 end = pd.datetime(2011, 1, 5)
 print(pd.date_range(start, end))

Результат выполнения следующим образом:

 DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05'],
    dtype='datetime64[ns]', freq='D')

Смещенные alias

Предоставляет множество строковых别名 для полезных общих временных рядов. Мы называем эти имена смещенными alias.

AliasОписаниеAliasОписание
BЧастота рабочих днейBQSЧастота начала бизнес-квартала
DЧастота календарного дняAЧастота окончания года (год)
WЧастота неделиBAЧастота окончания года работы
MЧастота окончания месяцаBASЧастота начала года работы
SMЧастота окончания半月ного периодаBHЧастота рабочего времени
BMЧастота окончания месяца работыHЧастота часа
MSЧастота начала месяцаT, minЧастота минуты
SMSЧастота начала месяца информацииSСледующая частота
BMSЧастота начала месяца работыL, msМиллисекунда
QЧастота окончания кварталаU, usМикросекунда
BQЧастота окончания бизнес-кварталаNНаносекунда
QSЧастота начала квартала