Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas – Period 객체의 연도가 윤년인지 확인하는 방법

Python의 Pandas 라이브러리에서 Period 객체가 나타내는 연도가 윤년(leap year)인지 확인하려면 period.is_leap_year 속성을 사용하면 됩니다. 이 속성은 해당 연도가 윤년이면 True, 그렇지 않으면 False를 반환합니다.

먼저 필요한 라이브러리를 임포트합니다.

import pandas as pd

Period 객체란?

pandas.Period는 특정 시점이 아닌 일정한 '기간(period)'을 나타내는 객체입니다. 연도, 분기, 월, 일 등 다양한 빈도(freq) 단위로 기간을 표현할 수 있으며, 날짜와 시간 정보를 함께 담을 수도 있습니다.

이제 두 개의 Period 객체를 생성해 보겠습니다.

period1 = pd.Period("2020-09-23 05:55:30")
period2 = pd.Period(freq="Y", year=2021, month=7, day=16, hour=2, minute=35)
  • period1: 문자열 형태의 날짜·시간 값으로 생성한 Period 객체 (2020년)
  • period2: 빈도를 연간('Y')으로 지정하고 세부 값을 직접 전달하여 생성한 Period 객체 (2021년)

생성된 Period 객체를 화면에 출력합니다.

print("Period1...\n", period1)
print("Period2...\n", period2)

이어서 각 객체의 연도가 윤년인지 is_leap_year 속성으로 확인합니다.

res1 = period1.is_leap_year
res2 = period2.is_leap_year

전체 예제 코드

다음은 위 과정을 하나로 정리한 전체 코드입니다.

import pandas as pd

# pandas.Period는 특정 기간을 나타냅니다
# 두 개의 Period 객체 생성
period1 = pd.Period("2020-09-23 05:55:30")
period2 = pd.Period(freq="Y", year=2021, month=7, day=16, hour=2, minute=35)

# Period 객체 출력
print("Period1...\n", period1)
print("Period2...\n", period2)

# 해당 연도가 윤년인지 확인
res1 = period1.is_leap_year
res2 = period2.is_leap_year

# 윤년이면 True, 아니면 False 반환
print("\n첫 번째 Period 객체의 연도는 윤년입니까? ...\n", res1)
print("\n두 번째 Period 객체의 연도는 윤년입니까? ...\n", res2)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Period1...
2020-09-23 05:55:30
Period2...
2021

첫 번째 Period 객체의 연도는 윤년입니까? ...
True

두 번째 Period 객체의 연도는 윤년입니까? ...
False

결과 해석

2020년은 4로 나누어떨어지는 해이므로 윤년에 해당하며, is_leap_year 속성이 True를 반환했습니다. 반면 2021년은 윤년이 아니므로 False가 출력되었습니다. 이처럼 is_leap_year 속성을 활용하면 복잡한 계산 없이도 Period 객체의 연도가 윤년인지 손쉽게 판별할 수 있습니다.