Python Pandas에서 Period 객체의 빈도를 초(Seconds)에서 분(Minutely) 단위로 변경하려면 period.asfreq() 메서드를 사용하고 매개변수에 'T'를 지정하면 됩니다.
Pandas Period 객체란?
pandas.Period는 특정 시점이 아닌 일정한 '기간'을 나타내는 객체입니다. 예를 들어 하루, 한 달, 1초처럼 연속적인 시간 구간을 표현할 때 유용합니다.
구현 단계
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
1단계: Period 객체를 생성합니다. 이때 'freq' 매개변수를 사용해 빈도를 초 단위, 즉 'S'로 설정합니다.
period = pd.Period(freq="S", year=2021, month=9, day=11, hour=8, minute=20, second=45)
2단계: 생성된 Period 객체를 출력하여 초 단위 빈도가 올바르게 설정되었는지 확인합니다.
print("Period...\n", period)3단계: asfreq() 메서드에 'T'를 전달하여 빈도를 초에서 분 단위로 변환합니다.
res = period.asfreq('T')전체 예제 코드
다음은 위 과정을 모두 포함한 완성된 코드입니다.
import pandas as pd
# pandas.Period는 하나의 기간을 나타냅니다
# Period 객체 생성
# 'freq' 매개변수를 사용해 빈도를 초 단위 즉 'S'로 설정
period = pd.Period(freq="S", year=2021, month=9, day=11, hour=8, minute=20, second=45)
# 초 단위 빈도의 Period 객체 출력
print("Period...\n", period)
# asfreq()에 'T'를 지정하여 초에서 분 단위 빈도로 변환
res = period.asfreq('T')
# 빈도 변환 후 결과 출력
print("\nFinal result after converting frequency ...\n", res)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Period... 2021-09-11 08:20:45 Final result after converting frequency ... 2021-09-11 08:20
정리
출력 결과를 보면 원래 Period 객체는 초까지 표시되던 2021-09-11 08:20:45였지만, asfreq('T')를 적용한 후에는 분 단위인 2021-09-11 08:20으로 변환된 것을 확인할 수 있습니다. 이처럼 asfreq() 메서드를 활용하면 Period 객체의 빈도를 손쉽게 변경할 수 있으며, 시간 데이터 분석 시 다양한 시간 단위 간 변환이 필요할 때 매우 유용하게 활용됩니다.