pandas.tseries.offsets.BusinessHour#
- class pandas.tseries.offsets.BusinessHour#
DateOffset subclass representing possibly n business hours.
BusinessHour is a date offset that advances time by a number of business hours. By default, business hours are from 9:00 AM to 5:00 PM on weekdays. The
startandendparameters can be used to customize the business hours window, and multiple intervals can be specified by passing lists.Attributes
Return the count of the number of periods.
Return boolean whether the frequency can align with midnight.
Return the start time(s) of the business hour.
Return the end time(s) of the business hour.
Return the time offset applied to the business day.
See also
CustomBusinessHourDateOffset subclass with custom weekmask and holidays.
BusinessDayDateOffset subclass representing possibly n business days.
Examples
You can use the parameter
nto represent a shift of n hours.>>> ts = pd.Timestamp(2022, 12, 9, 8) >>> ts + pd.offsets.BusinessHour(n=5) Timestamp('2022-12-09 14:00:00')
You can also change the start and the end of business hours.
>>> ts = pd.Timestamp(2022, 8, 5, 16) >>> ts + pd.offsets.BusinessHour(start="11:00") Timestamp('2022-08-08 11:00:00')
>>> from datetime import time as dt_time >>> ts = pd.Timestamp(2022, 8, 5, 22) >>> ts + pd.offsets.BusinessHour(end=dt_time(19, 0)) Timestamp('2022-08-08 10:00:00')
Passing the parameter
normalizeequal to True, you shift the start of the next business hour to midnight.>>> ts = pd.Timestamp(2022, 12, 9, 8) >>> ts + pd.offsets.BusinessHour(normalize=True) Timestamp('2022-12-09 00:00:00')
You can divide your business day hours into several parts.
>>> import datetime as dt >>> freq = pd.offsets.BusinessHour(start=["06:00", "10:00", "15:00"], ... end=["08:00", "12:00", "17:00"]) >>> pd.date_range(dt.datetime(2022, 12, 9), dt.datetime(2022, 12, 13), freq=freq) DatetimeIndex(['2022-12-09 06:00:00', '2022-12-09 07:00:00', '2022-12-09 10:00:00', '2022-12-09 11:00:00', '2022-12-09 15:00:00', '2022-12-09 16:00:00', '2022-12-12 06:00:00', '2022-12-12 07:00:00', '2022-12-12 10:00:00', '2022-12-12 11:00:00', '2022-12-12 15:00:00', '2022-12-12 16:00:00'], dtype='datetime64[ns]', freq='bh')
Attributes
baseReturns a copy of the calling offset object with n=1 and all other attributes equal.
Return the calendar used for business day calculations.
Return the end time(s) of the business hour.
Return a string representing the frequency.
Return the holidays used for custom business day calculations.
Return a dict of extra parameters for the offset.
Return the count of the number of periods.
Return a string representing the base frequency.
Returns an integer of the total number of nanoseconds for fixed frequencies.
next_bdayUsed for moving to next business day.
Return boolean whether the frequency can align with midnight.
Return the time offset applied to the business day.
Return a string representing the base frequency.
Return the start time(s) of the business hour.
Return the weekmask used for custom business day calculations.
Methods
copy()Return a copy of the frequency.
is_month_end(ts)Return boolean whether a timestamp occurs on the month end.
is_month_start(ts)Return boolean whether a timestamp occurs on the month start.
is_on_offset(dt)Return boolean whether a timestamp intersects with this frequency.
is_quarter_end(ts)Return boolean whether a timestamp occurs on the quarter end.
is_quarter_start(ts)Return boolean whether a timestamp occurs on the quarter start.
is_year_end(ts)Return boolean whether a timestamp occurs on the year end.
is_year_start(ts)Return boolean whether a timestamp occurs on the year start.
rollback(other)Roll provided date backward to next offset only if not on offset.
rollforward(other)Roll provided date forward to next offset only if not on offset.