Python Pandas에서 주어진 Period(기간) 객체에 적용된 시계열 빈도의 문자열 별칭을 확인하려면 period.freqstr 속성을 사용하면 됩니다. 이 속성은 해당 Period 객체가 어떤 빈도(freq) 규칙으로 생성되었는지를 사람이 읽기 쉬운 문자열 형태로 반환해 줍니다.
필요한 라이브러리 임포트하기
먼저 pandas 라이브러리를 임포트합니다.
import pandas as pd
Period 객체 생성하기
pandas.Period는 특정 시간 구간을 나타내는 객체입니다. 여기서는 서로 다른 방식으로 두 개의 Period 객체를 생성해 보겠습니다.
period1 = pd.Period("2020-09-23 03:55:20")
period2 = pd.Period(freq="Y", year=2021, month=2, day=14, hour=2, minute=35)
period1은 날짜·시간 문자열만으로 생성했기 때문에 기본 빈도인 초(second) 단위로 해석됩니다. 반면 period2는 freq="Y" 옵션으로 연(year) 단위 빈도를 명시적으로 지정했습니다. 참고로 최신 버전의 pandas에서는 "Y" 대신 "YE"(연말 기준)를 사용하는 것이 권장됩니다.
Period 객체 출력하기
생성한 두 개의 Period 객체를 화면에 출력해 내용을 확인합니다.
print("Period1...\n", period1)
print("Period2...\n", period2)
빈도의 문자열 별칭 가져오기
freqstr 속성에 접근하면 각 Period 객체에 적용된 빈도의 문자열 별칭을 손쉽게 얻을 수 있습니다.
res1 = period1.freqstr
res2 = period2.freqstr
전체 예제 코드
지금까지의 과정을 하나의 코드로 정리하면 다음과 같습니다.
import pandas as pd
# pandas.Period는 하나의 시간 구간을 나타냅니다.
# 두 개의 Period 객체 생성
period1 = pd.Period("2020-09-23 03:55:20")
period2 = pd.Period(freq="Y", year=2021, month=2, day=14, hour=2, minute=35)
# Period 객체 출력
print("Period1...\n", period1)
print("Period2...\n", period2)
# 빈도의 문자열 별칭 가져오기
res1 = period1.freqstr
res2 = period2.freqstr
# 각 Period 객체의 빈도 문자열 별칭 출력
print("\n첫 번째 Period 객체의 빈도 문자열 별칭 ...\n", res1)
print("\n두 번째 Period 객체의 빈도 문자열 별칭 ...\n", res2)
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Period1... 2020-09-23 03:55:20 Period2... 2021 첫 번째 Period 객체의 빈도 문자열 별칭 ... <Second> 두 번째 Period 객체의 빈도 문자열 별칭 ... <YearEnd: month=12>
결과를 보면 period1은 초 단위 빈도를 의미하는 <Second>가, period2는 12월에 끝나는 연 단위 빈도를 의미하는 <YearEnd: month=12>가 반환된 것을 확인할 수 있습니다. 이처럼 freqstr 속성을 활용하면 Period 객체의 빈도 정보를 코드로 쉽게 검증할 수 있습니다.