Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas – asfreq()로 Period 객체의 빈도를 초에서 분 단위로 변경하기

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 객체의 빈도를 손쉽게 변경할 수 있으며, 시간 데이터 분석 시 다양한 시간 단위 간 변환이 필요할 때 매우 유용하게 활용됩니다.