pandas.tseries.offsets.BusinessHour#

class pandas.tseries.offsets.BusinessHour#

DateOffset 子类表示可能是 n 个工作小时。

参数:
nint, 默认 1

表示的小时数。

normalize布尔值, 默认为 False

在生成日期范围之前,将开始/结束日期标准化为午夜。

开始str, time, 或 str/time 的列表, 默认值为 “09:00”

自定义营业时间的开始时间,采用24小时格式。

结束str, time, 或 str/time 的列表, 默认: “17:00”

您自定义营业时间的结束时间,采用24小时格式。

offsettimedelta, 默认 timedelta(0)

要应用的时间偏移。

示例

你可以使用参数 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')

属性

基础

返回调用偏移对象的一个副本,其中 n=1 且所有其他属性相同。

日历

end

freqstr

返回一个表示频率的字符串。

holidays

kwds

返回一个包含偏移额外参数的字典。

n

名称

返回表示基本频率的字符串。

纳秒

返回一个整数,表示固定频率的总纳秒数。

next_bday

用于移动到下一个工作日。

normalize

偏移量

self._offset 的别名。

rule_code

返回表示基本频率的字符串。

start

weekmask

方法

复制()

返回频率的副本。

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)

返回布尔值,判断一个时间戳是否发生在年初。

回滚(其他)

如果不在偏移量上,则将提供的日期向后滚动到下一个偏移量。

向前滚动(other)

如果不在偏移上,则将提供的日期向前滚动到下一个偏移。