Python의 Pandas 라이브러리에서 PeriodIndex 객체에 설정된 빈도(frequency) 객체를 확인하려면 PeriodIndex.freq 속성을 사용하면 됩니다. 이 속성은 해당 인덱스가 어떤 주기 단위로 구성되어 있는지를 나타내는 빈도 객체를 반환합니다.
PeriodIndex란?
PeriodIndex는 시간상 규칙적인 기간(period)을 나타내는 서수(ordinal) 값을 담고 있는 불변(immutable) 배열입니다. 날짜 데이터를 일별, 월별, 연도별 등 특정 주기로 다룰 때 유용하게 활용됩니다.
1. 필수 라이브러리 임포트
먼저 필요한 라이브러리를 가져옵니다.
import pandas as pd
2. PeriodIndex 객체 생성
날짜 문자열 목록과 함께 freq 매개변수를 사용해 빈도를 지정하여 PeriodIndex 객체를 생성합니다. 여기서는 일(Day) 단위를 의미하는 "D"로 설정했습니다.
periodIndex = pd.PeriodIndex(['2021-09-25', '2019-10-30', '2020-11-20',
'2021-07-15', '2022-06-12', '2023-07-10'], freq="D")
3. PeriodIndex 객체 출력
print("PeriodIndex...\n", periodIndex)
4. PeriodIndex 빈도 확인
freq 속성을 호출하면 객체에 설정된 빈도 정보를 확인할 수 있습니다.
print("\nPeriodIndex frequency...\n", periodIndex.freq)
전체 예제 코드
지금까지의 내용을 하나로 정리한 전체 코드는 다음과 같습니다.
import pandas as pd
# PeriodIndex 객체 생성
# PeriodIndex는 시간상 규칙적인 기간을 나타내는 서수 값을 가지는 불변 배열입니다.
# freq 매개변수를 사용해 빈도를 "D"(일 단위)로 설정했습니다.
periodIndex = pd.PeriodIndex(['2021-09-25', '2019-10-30', '2020-11-20',
'2021-07-15', '2022-06-12', '2023-07-10'], freq="D")
# PeriodIndex 객체 출력
print("PeriodIndex...\n", periodIndex)
# PeriodIndex 빈도 출력
print("\nPeriodIndex frequency...\n", periodIndex.freq)
# 월 숫자 출력 (1 = 1월, 2 = 2월 ... 12 = 12월)
print("\nMonth number...\n", periodIndex.month)
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
PeriodIndex... PeriodIndex(['2021-09-25', '2019-10-30', '2020-11-20', '2021-07-15', '2022-06-12', '2023-07-10'], dtype='period[D]') PeriodIndex frequency... <Day> Month number... Int64Index([9, 10, 11, 7, 6, 7], dtype='int64')
참고: 자주 사용되는 freq 별칭
freq 매개변수에는 다양한 별칭(alias)을 지정할 수 있으며, 대표적인 예는 다음과 같습니다.
- D : 일(day) 단위
- M : 월(month) 단위
- Y : 연(year) 단위
- H : 시(hour) 단위
- T / min : 분(minute) 단위
이처럼 freq 속성을 활용하면 PeriodIndex에 적용된 빈도를 손쉽게 확인할 수 있어, 시계열 데이터의 주기를 검증하거나 디버깅할 때 매우 유용합니다.