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

Python Pandas: Kiểm tra DateOffset có là Anchored Offset không

Phương thức offset.is_anchored() trong Pandas kiểm tra xem một DateOffset có phải là Anchored Offset (offsetneo) hay không. Anchored offset là các offset có tần suất cố định như tuần, tháng, quý, năm (ví dụ: 'W-MON', 'M', 'Q', 'A').

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

1. Import thư viện

from pandas.tseries.frequencies import to_offset
import pandas as pd

2. Thiết lập timestamp

timestamp = pd.Timestamp('2021-09-26 03:25:02.000045')

3. Tạo DateOffset anchored (tuần, cố định thứ 3)

offset = to_offset("W-TUE")

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

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

5. Kiểm tra anchored

print("\nKiểm tra DateOffset có anchored...\n", offset.is_anchored())

Ví dụ hoàn chỉnh

from pandas.tseries.frequencies import to_offset
import pandas as pd

timestamp = pd.Timestamp('2021-09-26 03:25:02.000045')
print("Timestamp...\n", timestamp)

# Anchored offset: tần suất tuần, cố định thứ 3
offset = to_offset("W-TUE")
print("\nDateOffset...\n", offset)
print("\nUpdated Timestamp...\n", timestamp + offset)
print("\nKiểm tra DateOffset có anchored...\n", offset.is_anchored())

Kết quả đầu ra

Timestamp...
2021-09-26 03:25:02.000045
DateOffset...
<Week: weekday=1>
Updated Timestamp...
2021-09-28 03:25:02.000045
Kiểm tra DateOffset có anchored...
True

Giải thích:

  • W-TUE = Weekly anchored on Tuesday (tuần cố định thứ 3)
  • Từ chủ nhật 26/9 → thứ 3 tiếp theo là 28/9
  • is_anchored() trả về True vì đây là anchored offset

Các loại Anchored Offset phổ biến

Mã Mô tả
W-MON đến W-SUN Tuần cố định thứ 2 đến chủ nhật
M / MS Cuối tháng / Đầu tháng
Q / QS Cuối quý / Đầu quý
A / AS Cuối năm / Đầu năm (A-DEC mặc định)
H, T, S Giờ, Phút, Giây (không anchored)

Lưu ý: Các offset như Day, Hour, BusinessDay là không anchored (trả về False) vì chúng không gắn liền với một điểm cố định trên lịch.