[python] pytz와 pandas 라이브러리의 통합 사용 방법

pandas 라이브러리는 데이터 분석 및 조작에 널리 사용되는 강력한 도구입니다. pytz 라이브러리는 시간대를 다루는 데 사용되는 표준 Python 라이브러리입니다. 이번 블로그 글에서는 이 두 라이브러리를 함께 사용하는 방법을 알아보겠습니다.

pytz 라이브러리 설치

pytz를 사용하기 위해 먼저 해당 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 pytz를 설치할 수 있습니다.

pip install pytz

pandas에서 pytz 사용하기

pandas에서 pytz를 사용하는 방법은 간단합니다. 다음과 같은 예를 살펴보겠습니다.

import pandas as pd
import pytz

# 시간대 객체 생성
timezone = pytz.timezone('Asia/Seoul')

# pandas Series 생성
s = pd.Series(['2022-01-01 09:00', '2022-01-02 10:30', '2022-01-03 14:15'])

# 시간대 적용
s = pd.to_datetime(s).dt.tz_localize(timezone)

위의 예제에서는 pytz.timezone을 사용하여 ‘Asia/Seoul’ 시간대 객체를 생성하고, pandas의 pd.Series를 사용하여 시간 정보가 포함된 Series를 생성합니다. 그런 다음 pd.to_datetime 메서드를 사용하여 Series의 값을 datetime 형식으로 변환하고, dt.tz_localize 메서드를 사용하여 시간대를 적용합니다.

이제 s를 출력해보면 시간대 정보가 포함된 시계열 데이터를 확인할 수 있습니다.

다른 시간대로 변환하기

시간대를 변경하기 위해서는 dt.tz_convert 메서드를 사용합니다. 다음은 예제 코드입니다.

new_timezone = pytz.timezone('America/New_York')

s = s.dt.tz_convert(new_timezone)

위의 코드는 new_timezone에 ‘America/New_York’ 시간대 객체를 생성하고, dt.tz_convert 메서드를 사용하여 s의 시간대를 변경합니다.

요약

이렇게 pytz와 pandas 라이브러리를 함께 사용하여 시간대를 다룰 수 있습니다. pytz를 사용하여 시간대를 생성하고, pandas의 datetime 기능을 사용하여 시계열 데이터에 시간대를 적용하고 변환하는 것은 데이터 분석 작업에서 유용한 도구입니다. 이를 통해 데이터 분석 및 시계열 기반 예측 모델링을 보다 정확하게 수행할 수 있습니다.

참고 자료