Thuộc tính BusinessDay.normalize trong Pandas cho biết xem đối tượng BusinessDay offset có được chuẩn hóa (normalize) hay không. Khi normalize=True, thành phần thời gian sẽ được đặt về 00:00:00.
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 normalize=True
bdOffset = pd.tseries.offsets.BusinessDay(
offset=datetime.timedelta(hours=8, minutes=10),
normalize=True
)
4. Hiển thị timestamp cập nhật
print("\nUpdated Timestamp...\n", timestamp + bdOffset)
5. Kiểm tra trạng thái chuẩn hóa
print("\nBusinessDay Offset có được chuẩn hóa?\n", bdOffset.normalize)
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),
normalize=True
)
print("\nBusinessDay Offset...\n", bdOffset)
print("\nUpdated Timestamp...\n", timestamp + bdOffset)
print("\nTần suất trên BusinessDay Offset...\n", bdOffset.freqstr)
print("\nTên tần suất trên BusinessDay object..\n", bdOffset.name)
print("\nBusinessDay Offset có được chuẩn hóa?\n", bdOffset.normalize)
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 00:00:00
Tần suất trên BusinessDay Offset...
B+8H10Min
Tên tần suất trên BusinessDay object..
B
BusinessDay Offset có được chuẩn hóa?
True
Giải thích: Dù offset có +8h10p, nhưng do normalize=True nên kết quả cuối cùng bị đặt về 00:00:00 của ngày làm việc tiếp theo (thứ Hai 1/11). Thuộc tính .normalize trả về True xác nhận điều này.