Để lùi ngày tháng đã cung cấp, hãy sử dụng phương thức CustomBusinessHour.rollback () trong Pandas. Đầu tiên, hãy nhập các thư viện được yêu cầu -
import pandas as pd
Đặt đối tượng dấu thời gian trong Pandas -
timestamp = pd.Timestamp('2021-12-20 08:35:10')
Tạo phần bù CustomBusinessHour. CustomBusinessHour là lớp con của DateOffset -
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 5, weekmask = 'Mon Tue Wed Fri')
Thêm phần bù vào Dấu thời gian và hiển thị Dấu thời gian đã cập nhật -
print("\nUpdated Timestamp...\n",timestamp + cbhOffset)
Lùi lại nếu không được bù đắp -
roll_back = cbhOffset.rollback(pd.Timestamp('2021-12-18 08:35:10'))
Hiển thị kết quả -
print("\nRoll Backward Result...\n",roll_back)
Ví dụ
Sau đây là mã -
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)
Đầu ra
Điều này sẽ tạo ra mã sau -
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