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

Python Pandas – 타임스탬프를 시간 단위 빈도의 기간(Period)으로 변환하는 방법

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')