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 객체의 연도가 윤년인지 손쉽게 판별할 수 있습니다.