Python Pandas CustomBusinessHour - 僅當不在偏移量上時,將提供日期向前滾動到下一個偏移量


若要僅在未使用偏移量時將提供日期向前滾動到下一個偏移量,請使用 Pand 中的 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

更新日期:2021 年 10 月 22 日

152 次瀏覽

開啟你的 職業生涯

完成課程後獲得認證

立即開始
廣告