pandas.tseries.offsets.BusinessHour#
- class pandas.tseries.offsets.BusinessHour#
DateOffset 子类,表示可能为 n 个工作小时。
- Parameters:
- nint, 默认值 1
表示的小时数。
- normalizebool,默认 False
在生成日期范围之前将开始/结束日期规范化到午夜。
- startstr, time, 或 str/time 列表,默认为 “09:00”
自定义工作小时的开始时间(24 小时格式)。
- endstr, time, 或 str/time 列表,默认为 “17:00”
自定义工作小时的结束时间(24 小时格式)。
- offsettimedelta, default timedelta(0)
要应用的日期偏移量。
Examples
您可以使用参数
n来表示 n 小时的偏移。>>> ts = pd.Timestamp(2022, 12, 9, 8) >>> ts + pd.offsets.BusinessHour(n=5) Timestamp('2022-12-09 14:00:00')
您还可以更改工作小时的开始和结束时间。
>>> 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')
将参数
normalize设置为 True,您可以将下一个工作小时的开始时间移至午夜。>>> ts = pd.Timestamp(2022, 12, 9, 8) >>> ts + pd.offsets.BusinessHour(normalize=True) Timestamp('2022-12-09 00:00:00')
您可以将一天的工作时间划分为几个部分。
>>> 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
base返回调用偏移量对象的副本,其中 n=1 且所有其他属性都相同。
返回表示频率的字符串。
返回偏移量的额外参数字典。
返回表示基本频率的字符串。
next_bday用于移动到下一个工作日的。
offsetAlias for self._offset.
Methods
copy()返回频率的副本。
is_anchored()(已弃用) 返回频率是否为单位频率 (n=1) 的布尔值.
is_month_end(ts)如果时间戳发生在月份结束时,则返回布尔值。
is_month_start(ts)如果时间戳发生在月份开始时,则返回布尔值。
is_on_offset(dt)如果时间戳与此频率相交,则返回布尔值。
is_quarter_end(ts)如果时间戳发生在季度结束时,则返回布尔值。
is_quarter_start(ts)如果时间戳发生在季度开始时,则返回布尔值。
is_year_end(ts)如果时间戳发生在年份结束时,则返回布尔值。
is_year_start(ts)如果时间戳发生在年份开始时,则返回布尔值。
rollback(other)如果提供的日期不在偏移量上,则将其向后滚动到下一个偏移量。
rollforward(other)如果提供的日期不在偏移量上,则将其向前滚动到下一个偏移量。