Python Pandas CustomBusinessHour - 仅在偏移量不在时才将提供的日期向前滚动到下一个偏移量

pythonserver side programmingprogramming更新于 2026/1/29 2:20:17

要仅在偏移量不在时将提供的日期向前滚动到下一个偏移量,请使用 Pandas 中的 CustomBusinessHour.rollforward() 方法。

首先,导入所需的库 −

import pandas as pd

在 Pandas 中设置时间戳对象 −

timestamp = pd.Timestamp('2021-12-20 08:35:10')

创建 CustomBusinessHour 偏移量。CustomBusinessHour 是 DateOffset 子类。有效工作日的周掩码 −

cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 5, weekmask = 'Mon Tue Wed Fri')

将偏移量添加到时间戳并显示更新的时间戳 −

print("\n更新时间戳...\n",timestamp + cbhOffset)

如果不在偏移量上,则向前滚动 −

roll = cbhOffset.rollforward(pd.Timestamp('2021-12-30 08:35:10'))

显示结果 −

print("\nRoll forward Result...\n",roll)

示例

以下是代码 −

import pandas as pd

# 设置 Pandas 中的时间戳对象
timestamp = pd.Timestamp('2021-12-20 08:35:10')

# 显示时间戳
print("时间戳...\n",timestamp)

# 创建 CustomBusinessHour 偏移量
# CustomBusinessHour 是 DateOffset 子类
#有效工作日的周掩码
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 5, weekmask = 'Mon Tue Wed Fri')

# 显示 CustomBusinessHour 偏移量
print("\nCustomBusinessHour 偏移量...\n",cbhOffset)

# 将偏移量添加到时间戳并显示更新的时间戳
print("\n更新时间戳...\n",timestamp + cbhOffset)

# 如果偏移量不存在,则向前滚动
roll = cbhOffset.rollforward(pd.Timestamp('2021-12-30 08:35:10'))

# 显示结果
print("\nRoll forward Result...\n",roll)

输出

将产生以下代码−

时间戳...
2021-12-20 08:35:10

CustomBusinessHour 偏移量...
<5 * CustomBusinessHours: CBH=09:00-17:00>

更新时间戳...
2021-12-20 14:00:00

向前滚动结果...
2021-12-31 09:00:00

相关文章


有用资源