Spec-Zone.ru › pandas 1

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')

Атрибуты

base

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

freqstr

Возвращает строку, представляющую частоту.

kwds

Возвращает словарь дополнительных параметров для временного сдвига.

name

Возвращает строку, представляющую базовую частоту.

n

nanos

normalize

rule_code

Методы

__call__(*args, **kwargs)

Вызов self как функции.

apply_index

(УСТЕРЕЖЕН) Векторизованное применение DateOffset к DatetimeIndex.

copy

Возвращает копию частоты.

is_anchored

Возвращает булево значение, указывающее, является ли частота частотой единицы (n=1).

is_month_end

Возвращает булево значение, указывающее, соответствует ли отметка времени концу месяца.

is_month_start

Возвращает булево значение, указывающее, соответствует ли отметка времени началу месяца.

is_on_offset

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

is_quarter_end

Возвращает булево значение, указывающее, соответствует ли отметка времени концу квартала.

is_quarter_start

Возвращает булево значение, указывающее, соответствует ли отметка времени началу квартала.

is_year_end

Возвращает булево значение, указывающее, соответствует ли отметка времени концу года.

is_year_start

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

rollback

Сдвигает указанную дату назад к ближайшему сдвигу только если она не соответствует сдвигу.

rollforward

Сдвигает указанную дату вперёд к ближайшему сдвигу только если она не соответствует сдвигу.

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

Spec-Zone.ru

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