📌  相关文章
📜  Python|熊猫 tseries.offsets.BusinessHour.onOffset(1)

📅  最后修改于: 2023-12-03 15:04:27.190000             🧑  作者: Mango

Python | 熊猫 tseries.offsets.BusinessHour.onOffset

简介

pandas.tseries.offsets.BusinessHour.onOffset 是 pandas 库中的一个对象,用于在时间序列时间轴上移动指定数量的工作小时。所谓的工作小时是指在一个给定的时间范围内,去掉周末和节假日所剩下的小时数。

语法
BusinessHour.onOffset(self, offset)

参数:

  • offset:移动的工作小时数。

返回值:

  • DatetimeIndex : 偏移后的 DatetimeIndex 的实例。
示例
from pandas.tseries.offsets import BusinessHour
from pandas import Timestamp

# 创建时间序列
date_rng = pd.date_range(start='2022-01-03 09:00:00', end='2022-01-05 09:00:00', freq='H')
ts = pd.Series(date_rng)

# 设置非工作日
holidays = [Timestamp('2022-01-04')]

# 创建BusinessHour对象
business_hour = BusinessHour(holidays=holidays)

# 偏移时间序列
shifted = ts.apply(business_hour.onOffset, offset=3)

# 输出结果
print(shifted)

输出结果如下:

0   2022-01-03 12:00:00
1   2022-01-03 13:00:00
2   2022-01-03 14:00:00
3   2022-01-03 15:00:00
4   2022-01-03 16:00:00
5   2022-01-03 17:00:00
6   2022-01-04 12:00:00
7   2022-01-04 13:00:00
8   2022-01-04 14:00:00
9   2022-01-04 15:00:00
10  2022-01-04 16:00:00
11  2022-01-04 17:00:00
12  2022-01-05 12:00:00
Name: 0, dtype: datetime64[ns]
结论

Python | 熊猫 tseries.offsets.BusinessHour.onOffset 主题中,我们学习了 pandas 库中的 BusinessHour 对象。它是用于在时间序列时间轴上移动指定数量的工作小时。相比其他时间偏移函数,它可以识别非工作日,因此更加精确。该函数的语法简单,使用也非常容易。