numpy.busday_offset
- numpy.busday_offset(dates, offsets, roll='raise', weekmask='1111100', holidays=None, busdaycal=None, out=None)
-
Сначала корректирует дату, чтобы она соответствовала правилу
roll, а затем применяет смещения к заданным датам, подсчитывая их в рабочие дни.Новая в версии 1.7.0.
- Параметры:
-
- datesarray_like of datetime64[D]
-
Массив дат для обработки.
- offsetsarray_like of int
-
Массив смещений, который транслируется с
dates. - roll{‘raise’, ‘nat’, ‘forward’, ‘following’, ‘backward’, ‘preceding’, ‘modifiedfollowing’, ‘modifiedpreceding’}, optional
-
Как обрабатывать даты, которые не попадают на рабочий день. По умолчанию это ‘raise’.
- ‘raise’ означает, что для нерабочего дня будет возбуждено исключение.
- ‘nat’ означает, что для нерабочего дня будет возвращено значение NaT (не время).
- ‘forward’ и ‘following’ означают, что будет взята первая рабочая дата, которая следует позже во времени.
- ‘backward’ и ‘preceding’ означают, что будет взята первая рабочая дата, которая следует ранее во времени.
- ‘modifiedfollowing’ означает, что будет взята первая рабочая дата, которая следует позже во времени, за исключением случаев перехода через границу месяца, в этом случае будет взята первая рабочая дата, которая следует ранее во времени.
- ‘modifiedpreceding’ означает, что будет взята первая рабочая дата, которая следует ранее во времени, за исключением случаев перехода через границу месяца, в этом случае будет взята первая рабочая дата, которая следует позже во времени.
- weekmaskstr или array_like of bool, optional
-
Массив из семи элементов, указывающий, какие из понедельника по воскресенье являются рабочими днями. Может быть указан как список или массив длины семь, например, [1,1,1,1,1,0,0]; строка длины семь, например, ‘1111100’; или строка, например, “Mon Tue Wed Thu Fri”, состоящая из 3-символьных сокращений дней недели, разделенных пробелами. Допустимые сокращения: Mon Tue Wed Thu Fri Sat Sun
- holidaysarray_like of datetime64[D], optional
-
Массив дат, которые следует рассматривать как нерабочие. Они могут быть указаны в любом порядке, и даты NaT (не время) игнорируются. Этот список сохраняется в нормализованной форме, пригодной для быстрых расчётов рабочих дней.
- busdaycalbusdaycalendar, optional
-
Объект
busdaycalendar, который определяет рабочие дни. Если этот параметр указан, не должны указываться ни weekmask, ни holidays. - outarray of datetime64[D], optional
-
Если указан, этот массив заполняется результатом.
- Возвращает:
-
- outarray 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') >>> # Last business day in February 2012 (not accounting for holidays) ... np.busday_offset('2012-03', -1, roll='forward') numpy.datetime64('2012-02-29') >>> # Third Wednesday in January 2011 ... np.busday_offset('2011-01', 2, roll='forward', weekmask='Wed') numpy.datetime64('2011-01-19') >>> # 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')>>> # First business day on or after a date ... np.busday_offset('2011-03-20', 0, roll='forward') numpy.datetime64('2011-03-21') >>> np.busday_offset('2011-03-22', 0, roll='forward') numpy.datetime64('2011-03-22') >>> # First business day after a date ... np.busday_offset('2011-03-20', 1, roll='backward') numpy.datetime64('2011-03-21') >>> np.busday_offset('2011-03-22', 1, roll='backward') numpy.datetime64('2011-03-23')
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.busday_offset.html