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

Python Pandas: Kiểm tra năm nhuận từ PeriodIndex object

Thuộc tính periodIndex.is_leap_year trong Pandas cho biết xem ngày từ PeriodIndex object có thuộc năm nhuận (leap year) hay không. Trả về mảng boolean.

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

1. Import thư viện

import pandas as pd

2. Tạo PeriodIndex (có năm nhuận 2016, 2020)

periodIndex = pd.PeriodIndex(
    ['2021-09-25 07:50:35', '2019-10-30 04:35:45', 
     '2016-07-15 02:25:15', '2020-06-25 09:20:55'], 
    freq="T"
)

3. Hiển thị PeriodIndex

print("PeriodIndex...\n", periodIndex)

4. Kiểm tra năm nhuận

print("\nCó phải năm nhuận?\n", periodIndex.is_leap_year)

Ví dụ hoàn chỉnh

import pandas as pd

periodIndex = pd.PeriodIndex(
    ['2021-09-25 07:50:35', '2019-10-30 04:35:45', 
     '2016-07-15 02:25:15', '2020-06-25 09:20:55'], 
    freq="T"
)
print("PeriodIndex...\n", periodIndex)
print("\nPeriodIndex frequency object...\n", periodIndex.freq)
print("\nPeriodIndex frequency as string...\n", periodIndex.freqstr)
print("\nCó phải năm nhuận?\n", periodIndex.is_leap_year)

Kết quả đầu ra

PeriodIndex...
PeriodIndex(['2021-09-25 07:50', '2019-10-30 04:35', '2016-07-15 02:25', '2020-06-25 09:20'], dtype='period[T]')
PeriodIndex frequency object...
<Minute>
PeriodIndex frequency object as a string...
T
Có phải năm nhuận?
[False False True True]

Giải thích:

  • 2021: Không nhuận → False
  • 2019: Không nhuận → False
  • 2016: Nhuận (chia hết cho 4, không chia hết cho 100) → True
  • 2020: Nhuận → True

Quy tắc năm nhuận: Chia hết cho 4, trừ năm chia hết cho 100 nhưng không chia hết cho 400. (2000 nhuận, 1900 không nhuận).