Skip to main content
`Ctrl`+`K`

# numpy.busdaycalendar

class numpy.busdaycalendar(weekmask='1111100', holidays=None)

  A business day calendar object that efficiently stores information defining valid days for the busday family of functions.

  The default valid days are Monday through Friday (“business days”). A busdaycalendar object can be specified with any set of weekly valid days, plus an optional “holiday” dates that always will be invalid.

  Once a busdaycalendar object is created, the weekmask and holidays cannot be modified.

  Parameters:
    weekmask str 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

    holidays array_like of datetime64[D], optional

      An array of dates to consider as invalid dates, no matter which weekday they fall upon. Holiday dates 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.

  Returns:
    out busdaycalendar

      A business day calendar object containing the specified weekmask and holidays values.

  See also

  `is_busday`

    Returns a boolean array indicating valid days.

  `busday_offset`

    Applies an offset counted in valid days.

  `busday_count`

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

  Notes

  Once a busdaycalendar object is created, you cannot modify the weekmask or holidays. The attributes return copies of internal data.

  Examples

      >>> import numpy as np
      >>> # Some important days in July
      ... bdd = np.busdaycalendar(
      ...             holidays=['2011-07-01', '2011-07-04', '2011-07-17'])
      >>> # Default is Monday to Friday weekdays
      ... bdd.weekmask
      array([ True,  True,  True,  True,  True, False, False])
      >>> # Any holidays already on the weekend are removed
      ... bdd.holidays
      array(['2011-07-01', '2011-07-04'], dtype='datetime64[D]')

  Attributes:
    `weekmask`(copy) seven-element array of bool

      A copy of the seven-element boolean mask indicating valid days.

    `holidays`(copy) sorted array of datetime64[D]

      A copy of the holiday array indicating additional invalid days.