Skip to main content
`Ctrl`+`K`

# pandas.bdate_range

pandas.bdate_range(start=None, end=None, periods=None, freq='B', tz=None, normalize=True, name=None, weekmask=None, holidays=None, inclusive='both', **kwargs)

  Return a fixed frequency DatetimeIndex with business day as the default.

  Parameters:
    startstr or datetime-like, default None

      Left bound for generating dates.

    endstr or datetime-like, default None

      Right bound for generating dates.

    periodsint, default None

      Number of periods to generate.

    freqstr, Timedelta, datetime.timedelta, or DateOffset, default ‘B’

      Frequency strings can have multiples, e.g. ‘5h’. The default is business daily (‘B’).

    tzstr or None

      Time zone name for returning localized DatetimeIndex, for example Asia/Beijing.

    normalizebool, default False

      Normalize start/end dates to midnight before generating date range.

    namestr, default None

      Name of the resulting DatetimeIndex.

    weekmaskstr or None, default None

      Weekmask of valid business days, passed to `numpy.busdaycalendar`, only used when custom frequency strings are passed. The default value None is equivalent to ‘Mon Tue Wed Thu Fri’.

    holidayslist-like or None, default None

      Dates to exclude from the set of valid business days, passed to `numpy.busdaycalendar`, only used when custom frequency strings are passed.

    inclusive{“both”, “neither”, “left”, “right”}, default “both”

      Include boundaries; Whether to set each bound as closed or open.

      Added in version 1.4.0.

    **kwargs

      For compatibility. Has no effect on the result.

  Returns:
    DatetimeIndex

  Notes

  Of the four parameters: `start`, `end`, `periods`, and `freq`, exactly three must be specified. Specifying `freq` is a requirement for `bdate_range`. Use `date_range` if specifying `freq` is not desired.

  To learn more about the frequency strings, please see this link.

  Examples

  Note how the two weekend days are skipped in the result.

      >>> pd.bdate_range(start='1/1/2018', end='1/08/2018')
      DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
                 '2018-01-05', '2018-01-08'],
                dtype='datetime64[ns]', freq='B')