หากต้องการย้อนกลับวันที่ที่ระบุ ให้ใช้วิธี CustomBusinessHour.rollback() ใน Pandas ขั้นแรก นำเข้าไลบรารีที่จำเป็น -
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_back = cbhOffset.rollback(pd.Timestamp('2021-12-18 08:35:10')) แสดงผล -
print("\nRoll Backward Result...\n",roll_back)
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
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 backward if not on offset
roll_back = cbhOffset.rollback(pd.Timestamp('2021-12-18 08:35:10'))
# display the result
print("\nRoll Backward Result...\n",roll_back) ผลลัพธ์
สิ่งนี้จะสร้างรหัสต่อไปนี้ -
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 Backward Result... 2021-12-17 17:00:00