numpy.busday_offset
-
numpy.busday_offset(dates, offsets, roll='raise', weekmask='1111100', holidays=None, busdaycal=None, out=None) -
Сначала дата корректируется для соответствия правилу
roll, затем к заданным датам применяются смещения, подсчитанные в рабочих днях.Новая в версии 1.7.0.
Параметры: dates : массив_подобный datetime64[D]
Массив дат для обработки.
offsets : массив_подобный int
Массив смещений, который транслируется с
dates.roll : {‘raise’, ‘nat’, ‘forward’, ‘following’, ‘backward’, ‘preceding’, ‘modifiedfollowing’, ‘modifiedpreceding’}, необязательно
Как обрабатывать даты, которые не попадают на рабочий день. По умолчанию — ‘raise’.
- ‘raise’ означает, что для нерабочего дня будет возбуждено исключение.
- ‘nat’ означает возврат NaT (не-время) для нерабочего дня.
- ‘forward’ и ‘following’ означают взятие первого рабочего дня, следующего по времени.
- ‘backward’ и ‘preceding’ означают взятие первого рабочего дня, предшествующего по времени.
- ‘modifiedfollowing’ означает взятие первого рабочего дня, следующего по времени, если он не пересекает границу месяца, в противном случае - первого рабочего дня, предшествующего по времени.
- ‘modifiedpreceding’ означает взятие первого рабочего дня, предшествующего по времени, если он не пересекает границу месяца, в противном случае - первого рабочего дня, следующего по времени.
weekmask : строка или массив_подобный bool, необязательно
Массив из семи элементов, указывающий, какие дни с понедельника по воскресенье являются рабочими днями. Может быть указан в виде списка или массива длиной 7, как [1,1,1,1,1,0,0]; строкой длины 7, как ‘1111100’; или строкой, подобной “Mon Tue Wed Thu Fri”, состоящей из трехбуквенных сокращений дней недели, необязательно разделенных пробелами. Допустимые сокращения: Mon Tue Wed Thu Fri Sat Sun
holidays : массив_подобный datetime64[D], необязательно
Массив дат, которые считаются нерабочими днями. Они могут быть указаны в любом порядке, и даты NaT (не-время) игнорируются. Этот список сохраняется в нормализованной форме, подходящей для быстрых вычислений рабочих дней.
busdaycal : busdaycalendar, необязательно
Объект
busdaycalendar, который определяет рабочие дни. Если этот параметр предоставлен, параметры weekmask и holidays использовать нельзя.out : массив datetime64[D], необязательно
Если указан, этот массив заполняется результатом.
Возвращаемые значения: out : массив 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')
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.busday_offset.html