Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas: Trả về mã quy tắc trên BusinessDay object

Thuộc tính BusinessDay.rule_code trong Pandas trả về mã quy tắc tần suất (frequency rule code) được áp dụng trên đối tượng BusinessDay offset.

Các bước thực hiện

1. Import thư viện

import datetime
import pandas as pd

2. Thiết lập timestamp

timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')

3. Tạo BusinessDay Offset với offset tùy chỉnh

bdOffset = pd.tseries.offsets.BusinessDay(offset=datetime.timedelta(hours=8, minutes=10))

4. Hiển thị timestamp cập nhật

print("\nUpdated Timestamp...\n", timestamp + bdOffset)

5. Lấy mã quy tắc

print("\nMã quy tắc của BusinessDay object..\n", bdOffset.rule_code)

Ví dụ hoàn chỉnh

import datetime
import pandas as pd

timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')
print("Timestamp...\n", timestamp)

bdOffset = pd.tseries.offsets.BusinessDay(offset=datetime.timedelta(hours=8, minutes=10))
print("\nBusinessDay Offset...\n", bdOffset)
print("\nUpdated Timestamp...\n", timestamp + bdOffset)
print("\nTần suất trên BusinessDay Offset...\n", bdOffset.freqstr)
print("\nMã quy tắc của BusinessDay object..\n", bdOffset.rule_code)

Kết quả đầu ra

Timestamp...
2021-10-30 01:55:02.000045
BusinessDay Offset...
<BusinessDay: offset=datetime.timedelta(seconds=29400)>
Updated Timestamp...
2021-11-01 10:05:02.000045
Tần suất trên BusinessDay Offset...
B+8H10Min
Mã quy tắc của BusinessDay object..
B

Giải thích:

  • rule_code trả về B (mã cơ bản của BusinessDay)
  • freqstr trả về B+8H10Min (bao gồm cả offset tùy chỉnh 8 giờ 10 phút)
  • Kết quả: từ thứ Bảy 30/10 nhảy sang thứ Hai 1/11 (ngày làm việc tiếp theo) + 8h10p → 10:05