numpy.busday_count — NumPy v2.2 Manual (original) (raw)
numpy.busday_count(begindates, enddates, weekmask='1111100', holidays=[], busdaycal=None, out=None)#
Counts the number of valid days between begindates and_enddates_, not including the day of enddates.
If enddates
specifies a date value that is earlier than the corresponding begindates
date value, the count will be negative.
Parameters:
begindatesarray_like of datetime64[D]
The array of the first dates for counting.
enddatesarray_like of datetime64[D]
The array of the end dates for counting, which are excluded from the count themselves.
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 int, optional
If provided, this array is filled with the result.
Returns:
outarray of int
An array with a shape from broadcasting begindates
and enddates
together, containing the number of valid days between the begin and end dates.
See also
An object that specifies a custom set of valid days.
Returns a boolean array indicating valid days.
Applies an offset counted in valid days.
Examples
import numpy as np
Number of weekdays in January 2011
... np.busday_count('2011-01', '2011-02') 21
Number of weekdays in 2011
np.busday_count('2011', '2012') 260
Number of Saturdays in 2011
... np.busday_count('2011', '2012', weekmask='Sat') 53