Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas CustomBusinessHour - Ngày cung cấp cuộn lùi về phía sau

Để 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