pandas에서 주어진 Timestamp(타임스탬프)를 Period(기간) 객체로 변환하려면 timestamp.to_period() 메서드를 사용합니다. 이때 freq 매개변수를 통해 변환될 기간의 빈도(frequency)를 지정할 수 있으며, 시간(hourly) 단위로 변환하려면 freq 값으로 'H'를 설정하면 됩니다.
필요한 라이브러리 가져오기
먼저 pandas 라이브러리를 임포트합니다.
import pandas as pd
타임스탬프 객체 생성
pandas의 Timestamp 객체를 생성합니다.
timestamp = pd.Timestamp(2021, 9, 18, 11, 50, 20, 33)
타임스탬프를 기간으로 변환
to_period() 메서드를 호출하고, freq 매개변수에 'H'를 지정하여 시간 단위 빈도로 변환합니다.
timestamp.to_period(freq='H')
전체 예제 코드
다음은 위 과정을 정리한 전체 예제 코드입니다.
import pandas as pd
# Pandas에서 타임스탬프 객체 생성
timestamp = pd.Timestamp(2021, 9, 18, 11, 50, 20, 33)
# 타임스탬프 출력
print("Timestamp...\n", timestamp)
# 타임스탬프를 기간으로 변환
# freq 매개변수에 'H'를 지정하여 시간 단위 빈도로 설정
print("\n시간 빈도로 변환한 Timestamp to Period...\n", timestamp.to_period(freq='H'))실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Timestamp... 2021-09-18 11:50:20.000033 Timestamp to Period with hourly frequency... 2021-09-18 11:00
출력 결과를 살펴보면, 원래 타임스탬프는 "2021-09-18 11:50:20.000033"였지만 시간 단위 기간으로 변환된 후에는 분·초 이하의 정보가 잘리고 "2021-09-18 11:00" 형태로 표현되는 것을 확인할 수 있습니다. 즉, to_period(freq='H')는 해당 시각이 속한 '시(houur)' 구간 전체를 나타내는 Period 객체를 반환합니다.
참고: pandas 2.2 버전부터는 대문자 'H'가 지원 중단(deprecated)되었으므로, 최신 버전에서는 소문자 'h'를 사용하는 것이 권장됩니다. 예: timestamp.to_period(freq='h')