Spec-Zone.ru › pandas 0.25

pandas.tseries.offsets.DateOffset

class pandas.tseries.offsets.DateOffset(n=1, normalize=False, **kwds) [source]

Стандартный тип приращения даты, используемый для диапазона дат.

Работает точно так же, как relativedelta, в отношении передаваемых ключевых аргументов. Использование ключевого слова n не рекомендуется — лучше указать n в используемых ключевых словах, но оно всё же доступно. n необходимо для подклассов DateOffset.

DateOffset работает следующим образом. Каждый отступ определяет набор дат, соответствующих DateOffset. Например, Bday определяет этот набор как набор дат, которые являются рабочими днями (ПН-ПТ). Для проверки, находится ли дата в наборе дат DateOffset, можно использовать метод onOffset: dateOffset.onOffset(date).

Если дата не соответствует допустимой дате, методы rollback и rollforward можно использовать для сдвига даты к ближайшей допустимой дате до или после даты.

DateOffset можно создать для сдвига дат на заданное количество допустимых дат. Например, Bday(2) можно добавить к дате, чтобы переместить её на два рабочих дня вперёд. Если дата не начинается с допустимой даты, сначала она перемещается к допустимой дате. Таким образом, псевдокод выглядит следующим образом:

def __add__(date):
date = rollback(date) # ничего не делает, если дата допустима return date + <n количество периодов>

При создании смещения даты для отрицательного количества периодов дата сначала сдвигается вперёд. Псевдокод выглядит следующим образом:

def __add__(date):
date = rollforward(date) # ничего не делает, если дата допустима return date + <n количество периодов>

Ноль представляет собой проблему. Должен ли он сдвигаться вперёд или назад? Мы произвольно выбрали сдвиг вперёд:

date + BDay(0) == BDay.rollforward(date)

Поскольку 0 немного необычен, мы рекомендуем избегать его использования.

Параметры:
n : int, default 1

Количество временных периодов, которое представляет отступ.

normalize : bool, default False

Необходимо ли округлять результат добавления DateOffset до предыдущего полуночи.

**kwds

Временной параметр, добавляющий к значению смещения или заменяющий его.

Параметры, которые добавляются к смещению (например, Timedelta):

  • years
  • months
  • weeks
  • days
  • hours
  • minutes
  • seconds
  • microseconds
  • nanoseconds

Параметры, которые заменяют значение смещения:

  • year
  • month
  • day
  • weekday
  • hour
  • minute
  • second
  • microsecond
  • nanosecond

См. также

dateutil.relativedelta.relativedelta

Примеры

>>> ts = pd.Timestamp('2017-01-01 09:10:11')
>>> ts + DateOffset(months=3)
Timestamp('2017-04-01 09:10:11')
>>> ts = pd.Timestamp('2017-01-01 09:10:11')
>>> ts + DateOffset(month=3)
Timestamp('2017-03-01 09:10:11')

Атрибуты

base Возвращает копию объекта вызываемого отступа с n=1 и всеми другими атрибутами равными.
freqstr
kwds
name
nanos
rule_code

Методы

apply_index(self, other) Векторизованное применение DateOffset к DatetimeIndex, вызывает NotImplentedError для отступов без векторизованной реализации.
rollback(self, dt) Сдвигает предоставленную дату назад к следующему смещению только если она не на смещении.
rollforward(self, dt) Сдвигает предоставленную дату вперёд к следующему смещению только если она не на смещении.
__call__
apply
copy
isAnchored
onOffset

© 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.25.0/reference/api/pandas.tseries.offsets.DateOffset.html

Spec-Zone.ru

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