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

Python Pandas로 UTC 오프셋 시간 구하는 방법

시계열 데이터를 다루다 보면 특정 타임스탬프의 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() 메서드를 활용하면 다양한 시간대의 데이터를 일관되게 처리할 수 있습니다.