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

Đếm số năm nhuận trong DataFrame Python pandas

Giả sử bạn có DataFrame chứa năm và số ngày, muốn đếm số năm nhuận (năm chia hết cho 4 và có 366 ngày).

Giải pháp

  • Tạo DataFrame với cột 'year' và 'days'.
  • Lọc: df[(df['year'] % 4 == 0) & (df['days'] == 366)].
  • Đếm: len(...).

Mã ví dụ

import pandas as pd

data = {
    'year': [2002, 2004, 2012, 2018, 2020],
    'days': [365, 366, 366, 365, 366]
}
df = pd.DataFrame(data)

print("DataFrame:\n", df)

leap_years = df[(df['year'] % 4 == 0) & (df['days'] == 366)]
print("\nCác năm nhuận:\n", leap_years)
print("Số lượng:", len(leap_years))

Kết quả

DataFrame:
   year  days
0  2002   365
1  2004   366
2  2012   366
3  2018   365
4  2020   366

Các năm nhuận:
   year  days
1  2004   366
2  2012   366
4  2020   366

Số lượng: 3

Lưu ý: Quy tắc năm nhuận đầy đủ: chia hết cho 400 HOẶC (chia hết cho 4 VÀ không chia hết cho 100). Ví dụ 1900 không nhuận, 2000 nhuận. Code trên đơn giản hóa cho khoảng 2000-2099.