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
См. также
Примеры
>>> 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