pandas에서 PeriodIndex 객체에 포함된 날짜가 윤년(leap year)에 해당하는지 확인하려면 periodIndex.is_leap_year 속성을 사용하면 됩니다. 이 속성은 각 기간(period)이 윤년에 속하면 True, 그렇지 않으면 False를 담은 배열을 반환합니다.
1. 필요한 라이브러리 임포트하기
가장 먼저 pandas 라이브러리를 임포트합니다.
import pandas as pd
2. PeriodIndex 객체 생성하기
날짜·시간 문자열 목록과 freq 매개변수를 사용해 PeriodIndex 객체를 생성합니다. PeriodIndex는 시간상 규칙적인 기간(regular periods)을 나타내는 서수 값을 저장하는 불변(immutable) ndarray입니다. 여기서는 빈도를 "T", 즉 분(Minute) 단위로 설정했습니다.
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. PeriodIndex 객체 출력하기
생성한 PeriodIndex 객체를 화면에 출력해 내용을 확인합니다.
print("PeriodIndex...\n", periodIndex)
4. 윤년 여부 확인하기
is_leap_year 속성을 사용하여 각 날짜가 윤년에 속하는지 확인합니다.
print("\nWhether the date is a leap year?\n", periodIndex.is_leap_year)
전체 예제 코드
지금까지 설명한 내용을 모두 포함한 전체 코드는 다음과 같습니다.
import pandas as pd
# PeriodIndex 객체 생성
# PeriodIndex는 시간상 규칙적인 기간을 나타내는 서수 값을 저장하는 불변(immutable) ndarray입니다.
# "freq" 매개변수를 사용하여 빈도를 설정했습니다.
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")
# PeriodIndex 객체 출력
print("PeriodIndex...\n", periodIndex)
# PeriodIndex 빈도 객체 출력
print("\nPeriodIndex frequency object...\n", periodIndex.freq)
# 문자열 형태로 PeriodIndex 빈도 출력
print("\nPeriodIndex frequency object as a string...\n", periodIndex.freqstr)
# 날짜가 윤년인지 확인
print("\nWhether the date is a leap year?\n", periodIndex.is_leap_year)
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
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 Whether the date is a leap year? [False False True True]
결과 해석
출력 결과를 보면 2021년과 2019년은 윤년이 아니므로 False가 반환되고, 4년마다 찾아오는 윤년인 2016년과 2020년에는 True가 반환됩니다. 즉, is_leap_year 속성은 PeriodIndex의 각 요소에 대해 해당 연도가 윤년인지를 개별적으로 판별하여 불리언(Boolean) 배열 형태로 알려줍니다.