要将提供的日期前滚到下一个偏移量(如果不在偏移量上),请使用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("\nUpdated Timestamp...\n",timestamp + cbhOffset)
如果不在偏移上,则向前滚动 -
roll = cbhOffset.rollforward(pd.Timestamp('2021-12-30 08:35:10'))
显示结果 -
print("\nRoll forward Result...\n",roll)
以下是代码 -
import pandas as pd # Set the timestamp object in Pandas timestamp = pd.Timestamp('2021-12-20 08:35:10') # Display the Timestamp print("Timestamp...\n",timestamp) # Create the CustomBusinessHour Offset # CustomBusinessHour is the DateOffset subclass # Weekmask of valid business days cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 5, weekmask = 'Mon Tue Wed Fri') # Display the CustomBusinessHour Offset print("\nCustomBusinessHour Offset...\n",cbhOffset) # Add the offset to the Timestamp and display the Updated Timestamp print("\nUpdated Timestamp...\n",timestamp + cbhOffset) # roll forward if not on offset roll = cbhOffset.rollforward(pd.Timestamp('2021-12-30 08:35:10')) # display the result print("\nRoll forward Result...\n",roll)输出结果
这将产生以下代码 -
Timestamp... 2021-12-20 08:35:10 CustomBusinessHour Offset... <5 * CustomBusinessHours: CBH=09:00-17:00> Updated Timestamp... 2021-12-20 14:00:00 Roll forward Result... 2021-12-31 09:00:00