시계열 데이터를 다루다 보면 특정 타임스탬프의 UTC 오프셋(협정 세계시와의 시차)을 확인해야 하는 경우가 자주 있습니다. Python의 Pandas 라이브러리에서는 timestamp.utcoffset() 메서드를 사용하여 손쉽게 UTC 오프셋을 구할 수 있습니다.
1. 라이브러리 임포트
가장 먼저 Pandas 라이브러리를 임포트합니다.
import pandas as pd
2. 타임스탬프 생성
pd.Timestamp()를 사용해 타임스탬프를 생성합니다. 이때 tz='UTC' 옵션을 지정하면 해당 타임스탬프의 시간대가 UTC로 설정됩니다.
timestamp = pd.Timestamp('2021-10-16T15:12:34.261811624', tz='UTC')3. UTC 기준 현재 날짜 및 시간 확인
utcnow() 메서드를 호출하면 UTC 기준의 새로운 타임스탬프를 얻을 수 있습니다.
timestamp.utcnow()
4. UTC 오프셋 시간 가져오기
utcoffset() 메서드를 호출하면 해당 타임스탬프의 UTC 오프셋 값을 반환합니다.
timestamp.utcoffset()
전체 예제 코드
지금까지 설명한 내용을 하나의 코드로 정리하면 다음과 같습니다.
import pandas as pd
# 타임스탬프 생성
timestamp = pd.Timestamp('2021-10-16T15:12:34.261811624', tz='UTC')
# 타임스탬프 출력
print("Timestamp...\n", timestamp)
# UTC 날짜와 시간으로 새 타임스탬프 출력
print("\nUTC day and time...\n", timestamp.utcnow())
# UTC 오프셋 시간 출력
print("\nUTC offset time...\n", timestamp.utcoffset())실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Timestamp... 2021-10-16 15:12:34.261811624+00:00 UTC day and time... 2021-10-03 07:56:44.685816+00:00 UTC offset time... 0:00:00
결과 해석
생성된 타임스탬프의 끝에 +00:00이 붙어 있는 것을 확인할 수 있는데, 이는 해당 시간이 UTC 기준이라는 의미입니다. 따라서 utcoffset()의 결과값도 0:00:00, 즉 UTC와의 시차가 없음(0시간)을 나타냅니다.
만약 시간대가 'Asia/Seoul'처럼 UTC가 아닌 다른 지역으로 설정되어 있다면, utcoffset()은 해당 지역의 시차(예: 한국의 경우 +9시간인 0 days 09:00:00)를 반환하게 됩니다. 이처럼 utcoffset() 메서드를 활용하면 다양한 시간대의 데이터를 일관되게 처리할 수 있습니다.