pandas.tseries.offsets.DateOffset
- classpandas.tseries.offsets.DateOffset
-
Стандартный вид приращения даты, используемый для диапазона дат.
Работает точно так же, как и форма ключевых аргументов relativedelta. Обратите внимание, что позиционная форма аргументов relativedelta не поддерживается. Использование аргумента n не рекомендуется — лучше указать n в используемых ключевых аргументах, но он всё же доступен. n необходим для подклассов DateOffset.
DateOffset работает следующим образом. Каждый временной сдвиг определяет набор дат, соответствующих DateOffset. Например, Bday определяет этот набор как набор дат, которые являются рабочими днями (ПН-ПТ). Чтобы проверить, является ли дата частью набора дат DateOffset, мы можем использовать метод is_on_offset: dateOffset.is_on_offset(date).
Если дата не соответствует допустимому формату, для сдвига даты к ближайшей допустимой дате до/после даты можно использовать методы rollback и rollforward.
Можно создать DateOffset для сдвига дат вперёд на заданное число допустимых дат. Например, Bday(2) можно добавить к дате, чтобы сдвинуть её на два рабочих дня вперёд. Если дата не начинается с допустимой даты, сначала она переносится на допустимую дату. Таким образом, псевдокод выглядит следующим образом:
- def __add__(date):
-
date = rollback(date) # ничего не делает, если дата допустима return date + <число периодов>
При создании временного сдвига для отрицательного числа периодов дата сначала сдвигается вперёд. Псевдокод выглядит следующим образом:
- def __add__(date):
-
date = rollforward(date) # ничего не делает, если дата допустима return date + <число периодов>
Ноль представляет собой проблему. Должен ли он сдвигаться вперёд или назад? По умолчанию он сдвигается вперёд:
date + BDay(0) == BDay.rollforward(date)
Поскольку 0 немного странен, мы рекомендуем избегать его использования.
Кроме того, добавление DateOffset, заданного в единственном числе компонента даты, может использоваться для замены определённого компонента отметки времени.
- Parameters
-
- n:int, default 1
-
Количество временных периодов, которые представляет временной сдвиг. Если указано без временного шаблона, по умолчанию используется n дней.
- normalize:bool, default False
-
Округлять ли результат добавления DateOffset до предыдущего полуночи.
- **kwds
-
Временной параметр, который добавляется к значению временного сдвига или заменяет его.
Параметры, которые добавляются к временной поправке (например, Timedelta):
years
months
weeks
days
hours
minutes
seconds
milliseconds
microseconds
nanoseconds
Параметры, которые заменяют значение временной поправки:
year
month
day
weekday
hour
minute
second
microsecond
nanosecond.
См. также
dateutil.relativedelta.relativedelta-
Тип relativedelta предназначен для применения к существующей дате и времени и может заменять определённые компоненты этой даты и времени или представлять временной интервал.
Примеры
>>> from pandas.tseries.offsets import DateOffset >>> 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(months=2) Timestamp('2017-03-01 09:10:11') >>> ts + DateOffset(day=31) Timestamp('2017-01-31 09:10:11')>>> ts + pd.DateOffset(hour=8) Timestamp('2017-01-01 08:10:11')Атрибуты
Возвращает копию объекта сдвига вызывающего объекта с n=1 и всеми другими атрибутами равными.
Возвращает строку, представляющую частоту.
Возвращает словарь дополнительных параметров для временного сдвига.
Возвращает строку, представляющую базовую частоту.
n
nanos
normalize
rule_code
Методы
__call__(*args, **kwargs)Вызов self как функции.
(УСТЕРЕЖЕН) Векторизованное применение DateOffset к DatetimeIndex.
Возвращает копию частоты.
Возвращает булево значение, указывающее, является ли частота частотой единицы (n=1).
Возвращает булево значение, указывающее, соответствует ли отметка времени концу месяца.
Возвращает булево значение, указывающее, соответствует ли отметка времени началу месяца.
Возвращает булево значение, указывающее, пересекается ли отметка времени с этой частотой.
Возвращает булево значение, указывающее, соответствует ли отметка времени концу квартала.
Возвращает булево значение, указывающее, соответствует ли отметка времени началу квартала.
Возвращает булево значение, указывающее, соответствует ли отметка времени концу года.
Возвращает булево значение, указывающее, соответствует ли отметка времени началу года.
Сдвигает указанную дату назад к ближайшему сдвигу только если она не соответствует сдвигу.
Сдвигает указанную дату вперёд к ближайшему сдвигу только если она не соответствует сдвигу.
apply
isAnchored
onOffset
© 2008–2022, 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/1.5.0/reference/api/pandas.tseries.offsets.DateOffset.html