Spec-Zone.ru › pandas 0.24

pandas.tseries.offsets.DateOffset

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

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

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

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

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

DateOffsets можно создать для продвижения дат на заданное количество допустимых дат. Например, 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 Векторизованное применение DateOffset к DatetimeIndex, вызывает NotImplentedError для сдвигов без векторизованной реализации.
rollback(dt) Откатывает заданную дату назад к следующему смещению только в том случае, если она не на смещении.
rollforward(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.24.2/reference/api/pandas.tseries.offsets.DateOffset.html

Spec-Zone.ru

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