Pandas에서 주어진 타임스탬프(Timestamp)를 기간(Period)으로 변환하려면 timestamp.to_period() 메서드를 사용합니다. 이때 freq 매개변수를 통해 원하는 빈도(주기)를 지정할 수 있습니다.
타임스탬프가 특정 시점의 순간을 나타낸다면, 기간(Period)은 월, 분기, 연도처럼 연속된 시간 구간 전체를 나타냅니다. 따라서 날짜 데이터를 월별·연도별로 그룹화하거나 집계할 때 이 변환이 유용하게 활용됩니다.
1. 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
2. 타임스탬프 객체 생성
Pandas에서 타임스탬프 객체를 생성합니다.
timestamp = pd.Timestamp('2021-09-14T15:12:34.261811624')
3. 타임스탬프를 기간으로 변환
이제 to_period() 메서드를 호출하여 타임스탬프를 기간으로 변환합니다. 아래 예제에서는 freq 매개변수에 'M'(월, Month) 값을 설정했습니다.
timestamp.to_period(freq='M')
전체 예제 코드
다음은 위 과정을 모두 포함한 전체 코드입니다.
import pandas as pd
# Pandas에서 타임스탬프 객체 생성
timestamp = pd.Timestamp('2021-09-14T15:12:34.261811624')
# 타임스탬프 출력
print("Timestamp...\n", timestamp)
# 타임스탬프를 기간으로 변환
# freq 매개변수에 'M' 값을 설정하여 월 단위 빈도 지정
print("\nTimestamp to Period...\n", timestamp.to_period(freq='M'))
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Timestamp... 2021-09-14 15:12:34.261811624 Timestamp to Period... 2021-09
출력 결과를 보면, 나노초까지 포함된 상세한 타임스탬프가 freq='M' 옵션에 의해 '2021-09'라는 월 단위 기간으로 변환된 것을 확인할 수 있습니다.
자주 사용되는 freq 값 정리
freq 매개변수에는 다양한 빈도 문자열을 지정할 수 있으며, 대표적인 값은 다음과 같습니다.
'Y': 연도(Year)'Q': 분기(Quarter)'M': 월(Month)'W': 주(Week)'D': 일(Day)'H': 시간(Hour)
이처럼 to_period() 메서드와 freq 매개변수만 활용하면, 정밀한 타임스탬프 데이터를 손쉽게 원하는 시간 단위의 기간으로 변환할 수 있습니다.