[ Web Proxy ]
URL:
Viewing: https://numpy.org/doc/stable/reference/generated/../random/../generated/numpy.busday_offset.html [Back]  [Original]

numpy.busday_offset — NumPy v2.5 Manual
Back to top
Search the docs ...:

numpy.busday_offset#

numpy.busday_offset(dates, offsets, roll='raise', weekmask='1111100', holidays=None, busdaycal=None, out=None)#

First adjusts the date to fall on a valid day according to the roll rule, then applies offsets to the given dates counted in valid days.

Parameters:
datesarray_like of datetime64[D]

The array of dates to process.

offsetsarray_like of int

The array of offsets, which is broadcast with dates.

roll{raise, nat, forward, following, backward, preceding, modifiedfollowing, modifiedpreceding}, optional

How to treat dates that do not fall on a valid day. The default is raise.

  • raise means to raise an exception for an invalid day.

  • nat means to return a NaT (not-a-time) for an invalid day.

  • forward and following mean to take the first valid day later in time.

  • backward and preceding mean to take the first valid day earlier in time.

  • modifiedfollowing means to take the first valid day later in time unless it is across a Month boundary, in which case to take the first valid day earlier in time.

  • modifiedpreceding means to take the first valid day earlier in time unless it is across a Month boundary, in which case to take the first valid day later in time.

weekmaskstr or array_like of bool, optional

A seven-element array indicating which of Monday through Sunday are valid days. May be specified as a length-seven list or array, like [1,1,1,1,1,0,0]; a length-seven string, like 1111100; or a string like Mon Tue Wed Thu Fri, made up of 3-character abbreviations for weekdays, optionally separated by white space. Valid abbreviations are: Mon Tue Wed Thu Fri Sat Sun

holidaysarray_like of datetime64[D], optional

An array of dates to consider as invalid dates. They may be specified in any order, and NaT (not-a-time) dates are ignored. This list is saved in a normalized form that is suited for fast calculations of valid days.

busdaycalbusdaycalendar, optional

A busdaycalendar object which specifies the valid days. If this parameter is provided, neither weekmask nor holidays may be provided.

outarray of datetime64[D], optional

If provided, this array is filled with the result.

Returns:
outarray of datetime64[D]

An array with a shape from broadcasting dates and offsets together, containing the dates with offsets applied.

See also

busdaycalendar

An object that specifies a custom set of valid days.

is_busday

Returns a boolean array indicating valid days.

busday_count

Counts how many valid days are in a half-open date range.

Examples

Try it in your browser!
>>> import numpy as np
>>> # First business day in October 2011 (not accounting for holidays)
... np.busday_offset('2011-10', 0, roll='forward')
np.datetime64('2011-10-03')
>>> # Last business day in February 2012 (not accounting for holidays)
... np.busday_offset('2012-03', -1, roll='forward')
np.datetime64('2012-02-29')
>>> # Third Wednesday in January 2011
... np.busday_offset('2011-01', 2, roll='forward', weekmask='Wed')
np.datetime64('2011-01-19')
>>> # 2012 Mother's Day in Canada and the U.S.
... np.busday_offset('2012-05', 1, roll='forward', weekmask='Sun')
np.datetime64('2012-05-13')
>>> # First business day on or after a date
... np.busday_offset('2011-03-20', 0, roll='forward')
np.datetime64('2011-03-21')
>>> np.busday_offset('2011-03-22', 0, roll='forward')
np.datetime64('2011-03-22')
>>> # First business day after a date
... np.busday_offset('2011-03-20', 1, roll='backward')
np.datetime64('2011-03-21')
>>> np.busday_offset('2011-03-22', 1, roll='backward')
np.datetime64('2011-03-23')

Web Proxy Viewer  |  New URL  |  Original Page