numpy.busday_offset#

numpy.busday_offset(dates, смещения, roll='raise', weekmask='1111100', праздники=None, busdaycal=None, выход=None)#

Сначала корректирует дату, чтобы она попадала на допустимый день в соответствии с roll правило, затем применяет смещения к заданным датам, подсчитанным в действительных днях.

Параметры:
datesarray_like из datetime64[D]

Массив дат для обработки.

смещенияarray_like из int

Массив смещений, который транслируется вместе с dates.

roll{‘raise’, ‘nat’, ‘forward’, ‘following’, ‘backward’, ‘preceding’, ‘modifiedfollowing’, ‘modifiedpreceding’}, опционально

Как обрабатывать даты, которые не попадают на действительный день. По умолчанию ‘raise’.

  • ‘raise’ означает вызов исключения для недопустимого дня.

  • ‘nat’ означает возврат NaT (не-время) для недопустимого дня.

  • ‘forward’ и ‘following’ означают взять первый действительный день позже по времени.

  • ‘backward’ и ‘preceding’ означают взять первый допустимый день ранее во времени.

  • 'modifiedfollowing' означает взять первый допустимый день позже во времени, если только он не пересекает границу месяца, в этом случае взять первый допустимый день раньше во времени.

  • 'modifiedpreceding' означает взять первый действительный день ранее по времени, если только он не пересекает границу месяца, в этом случае взять первый действительный день позже по времени.

weekmaskstr или array_like из bool, опционально

Семиэлементный массив, указывающий, какие дни с понедельника по воскресенье являются действительными. Может быть задан как список или массив длиной семь, например [1,1,1,1,1,0,0]; строка длиной семь, например ‘1111100’; или строка вида "Mon Tue Wed Thu Fri", состоящая из 3-символьных сокращений для дней недели, возможно разделенных пробелами. Допустимые сокращения: Mon Tue Wed Thu Fri Sat Sun

праздникиarray_like из datetime64[D], опционально

Массив дат, которые следует считать недействительными. Они могут быть указаны в любом порядке, а даты NaT (не-время) игнорируются. Этот список сохраняется в нормализованной форме, подходящей для быстрых вычислений действительных дней.

busdaycalbusdaycalendar, опционально

A busdaycalendar объект, который определяет допустимые дни. Если этот параметр предоставлен, ни weekmask, ни holidays не могут быть предоставлены.

выходмассив datetime64[D], опционально

Если предоставлен, этот массив заполняется результатом.

Возвращает:
выходмассив datetime64[D]

Массив с формой из трансляции dates и offsets вместе, содержащие даты с применёнными смещениями.

Смотрите также

busdaycalendar

Объект, который определяет пользовательский набор допустимых дней.

is_busday

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

busday_count

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

Примеры

>>> import numpy as np
>>> # First business day in October 2011 (not accounting for holidays)
... np.busday_offset('2011-10', 0, roll='forward')
np.datetime64('2011-10-03')
>>> # Last business day in February 2012 (not accounting for holidays)
... np.busday_offset('2012-03', -1, roll='forward')
np.datetime64('2012-02-29')
>>> # Third Wednesday in January 2011
... np.busday_offset('2011-01', 2, roll='forward', weekmask='Wed')
np.datetime64('2011-01-19')
>>> # 2012 Mother's Day in Canada and the U.S.
... np.busday_offset('2012-05', 1, roll='forward', weekmask='Sun')
np.datetime64('2012-05-13')
>>> # First business day on or after a date
... np.busday_offset('2011-03-20', 0, roll='forward')
np.datetime64('2011-03-21')
>>> np.busday_offset('2011-03-22', 0, roll='forward')
np.datetime64('2011-03-22')
>>> # First business day after a date
... np.busday_offset('2011-03-20', 1, roll='backward')
np.datetime64('2011-03-21')
>>> np.busday_offset('2011-03-22', 1, roll='backward')
np.datetime64('2011-03-23')