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

Python Pandas – 타임스탬프(Timestamp)를 기간(Period)으로 변환하는 방법

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 매개변수만 활용하면, 정밀한 타임스탬프 데이터를 손쉽게 원하는 시간 단위의 기간으로 변환할 수 있습니다.