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

Python Pandas - Kiểm tra ngày trong DateTimeIndex có phải cuối năm

Để kiểm tra các ngày trong DateTimeIndex có phải là ngày cuối năm (December 31) hay không, sử dụng thuộc tính DateTimeIndex.is_year_end.

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

1. Import thư viện

import pandas as pd

2. Tạo DateTimeIndex quanh cuối năm

Tần suất 2 ngày, 6 kỳ, bắt đầu 25/12:

datetimeindex = pd.date_range('2021-12-25 02:30:50', periods=6, tz='Australia/Adelaide', freq='2D')

3. Kiểm tra cuối năm

print("\nKiểm tra ngày cuối năm:\n", datetimeindex.is_year_end)

Ví dụ hoàn chỉnh

import pandas as pd

datetimeindex = pd.date_range('2021-12-25 02:30:50', periods=6, tz='Australia/Adelaide', freq='2D')

print("DateTimeIndex:\n", datetimeindex)
print("\nTần suất:", datetimeindex.freq)
print("\nNgày cuối năm?\n", datetimeindex.is_year_end)

Kết quả đầu ra

DateTimeIndex:
DatetimeIndex(['2021-12-25 02:30:50+10:30', '2021-12-27 02:30:50+10:30', '2021-12-29 02:30:50+10:30', '2021-12-31 02:30:50+10:30', '2022-01-02 02:30:50+10:30', '2022-01-04 02:30:50+10:30'], dtype='datetime64[ns, Australia/Adelaide]', freq='2D')
Tần suất: <2 * Days>
Kiểm tra ngày cuối năm:
[False False False True False False]

Giải thích

Chỉ index 3 (2021-12-31) trả về True. Các ngày 2022-01-02, 2022-01-04 thuộc năm mới → False.

Các thuộc tính boolean hữu ích

Thuộc tínhKiểm tra
is_year_startNgày 1/1
is_year_endNgày 31/12
is_quarter_startNgày 1/1, 1/4, 1/7, 1/10
is_quarter_endNgày 31/3, 30/6, 30/9, 31/12
is_month_startNgày 1 của tháng
is_month_endNgày cuối tháng
is_leap_yearNăm nhuận

Dùng để lọc dữ liệu: df[df.index.is_year_end] lấy các dòng cuối năm.