pandas.bdate_range

pandas.bdate_range(start=None, end=None, periods=None, freq='B', tz=None, normalize=True, name=None, weekmask=None, holidays=None, closed=None, **kwargs)[source]

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

Parameters:

start : string or datetime-like, default None

Left bound for generating dates.

end : string or datetime-like, default None

Right bound for generating dates.

periods : integer, default None

Number of periods to generate.

freq : string or DateOffset, default ‘B’ (business daily)

Frequency strings can have multiples, e.g. ‘5H’.

tz : string or None

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

normalize : bool, default False

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

name : string, default None

Name of the resulting DatetimeIndex.

weekmask : string 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’.

New in version 0.21.0.

holidays : list-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.

New in version 0.21.0.

closed : string, default None

Make the interval closed with respect to the given frequency to the ‘left’, ‘right’, or both sides (None).

**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')
Scroll To Top