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)[source]#
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.
New in version 1.4.0.
- **kwargs
For compatibility. Has no effect on the result.
- Returns
- DatetimeIndex
Notes
Of the four parameters:
start
,end
,periods
, andfreq
, exactly three must be specified. Specifyingfreq
is a requirement forbdate_range
. Usedate_range
if specifyingfreq
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')