Spec-Zone.ru › NumPy 1.11

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 (not-a-time) для недопустимого дня.
  • ‘forward’ и ‘following’ — означают взятие первого допустимого дня позже во времени.
  • ‘backward’ и ‘preceding’ — означают взятие первого допустимого дня раньше во времени.
  • ‘modifiedfollowing’ — означает взятие первого допустимого дня позже во времени, если это не пересекает границу месяца, в противном случае берёт первый допустимый день раньше во времени.
  • ‘modifiedpreceding’ — означает взятие первого допустимого дня раньше во времени, если это не пересекает границу месяца, в противном случае берёт первый допустимый день позже во времени.

weekmask : строка или массив bool, необязательно

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

holidays : массив datetime64[D], необязательно

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

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–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.busday_offset.html

Spec-Zone.ru

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