Spec-Zone.ru › NumPy 1.20

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 or array_like of bool, optional

Массив из семи элементов, указывающий, какие дни с понедельника по воскресенье являются рабочими. Может быть указан как список или массив длиной 7, например, [1,1,1,1,1,0,0]; строка длиной 7, например, ‘1111100’; или строка типа “Пн Вт Ср Чт Пт”, состоящая из 3-буквенных сокращений дней недели, необязательно разделенных пробелами. Допустимые сокращения: Пн Вт Ср Чт Пт Сб Вс

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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.busday_offset.html

Spec-Zone.ru

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