numpy.busday_offset
-
numpy.busday_offset(dates, offsets, roll='raise', weekmask='1111100', holidays=None, busdaycal=None, out=None) -
Сначала дата корректируется, чтобы попасть на допустимый день в соответствии с правилом
roll, а затем к заданным датам применяются смещения, подсчитанные в допустимые дни.Новое в версии 1.7.0.
Параметры: -
dates : array_like of datetime64[D] -
Массив дат для обработки.
-
offsets : array_like of int -
Массив смещений, который транслируется с
dates. -
roll : {‘raise’, ‘nat’, ‘forward’, ‘following’, ‘backward’, ‘preceding’, ‘modifiedfollowing’, ‘modifiedpreceding’}, optional -
Как обрабатывать даты, которые не попадают на допустимый день. По умолчанию — «raise».
- «raise» означает, что для недопустимого дня будет возбуждено исключение.
- «nat» означает, что для недопустимого дня будет возвращено значение NaT (не-время).
- «forward» и «following» означают, что берется первый допустимый день, следующий во времени.
- «backward» и «preceding» означают, что берется первый допустимый день, предшествующий во времени.
- «modifiedfollowing» означает, что берется первый допустимый день, следующий во времени, за исключением случаев перехода через границу месяца, в котором случае берется первый допустимый день, предшествующий во времени.
- «modifiedpreceding» означает, что берется первый допустимый день, предшествующий во времени, за исключением случаев перехода через границу месяца, в котором случае берется первый допустимый день, следующий во времени.
-
weekmask : str or array_like of bool, optional -
Семиэлементный массив, указывающий, какие дни с понедельника по воскресенье являются допустимыми днями. Может быть указан как список или массив длины 7, например [1,1,1,1,1,0,0]; строка длины 7, например «1111100»; или строка типа «Mon Tue Wed Thu Fri», состоящая из 3-буквенных сокращений для дней недели, необязательно разделенных пробелами. Допустимые сокращения: Mon Tue Wed Thu Fri Sat Sun
-
holidays : array_like of datetime64[D], optional -
Массив дат, которые следует рассматривать как недопустимые даты. Они могут быть указаны в любом порядке, и даты NaT (не-время) игнорируются. Этот список сохраняется в нормализованной форме, которая подходит для быстрых вычислений допустимых дней.
-
busdaycal : busdaycalendar, optional -
Объект
busdaycalendar, который определяет допустимые дни. Если этот параметр указан, то параметры weekmask и holidays нельзя использовать. -
out : array of datetime64[D], optional -
Если указан, этот массив заполняется результатом.
Возвращает: -
out : array of datetime64[D] -
Массив с формой, полученной от трансляции
datesиoffsetsвместе, содержащий даты со примененными смещениями.
См. также
-
busdaycalendar - Объект, определяющий настраиваемый набор допустимых дней.
-
is_busday - Возвращает булевый массив, указывающий допустимые дни.
-
busday_count - Подсчитывает количество допустимых дней в полуоткрытом диапазоне дат.
Примеры
>>> # First business day in October 2011 (not accounting for holidays) ... np.busday_offset('2011-10', 0, roll='forward') numpy.datetime64('2011-10-03','D') >>> # Last business day in February 2012 (not accounting for holidays) ... np.busday_offset('2012-03', -1, roll='forward') numpy.datetime64('2012-02-29','D') >>> # Third Wednesday in January 2011 ... np.busday_offset('2011-01', 2, roll='forward', weekmask='Wed') numpy.datetime64('2011-01-19','D') >>> # 2012 Mother's Day in Canada and the U.S. ... np.busday_offset('2012-05', 1, roll='forward', weekmask='Sun') numpy.datetime64('2012-05-13','D')>>> # First business day on or after a date ... np.busday_offset('2011-03-20', 0, roll='forward') numpy.datetime64('2011-03-21','D') >>> np.busday_offset('2011-03-22', 0, roll='forward') numpy.datetime64('2011-03-22','D') >>> # First business day after a date ... np.busday_offset('2011-03-20', 1, roll='backward') numpy.datetime64('2011-03-21','D') >>> np.busday_offset('2011-03-22', 1, roll='backward') numpy.datetime64('2011-03-23','D') -
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.busday_offset.html