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

Python Pandas - DateTimeIndex에서 시간대(Timezone) 추출하는 방법

개요

Pandas에서 특정 시계열 빈도를 가진 DateTimeIndex로부터 시간대(timezone) 정보를 추출하려면 DateTimeIndex.tz 속성을 사용하면 됩니다. 이 속성은 인덱스에 설정된 시간대를 그대로 반환합니다.

필수 라이브러리 임포트

먼저 필요한 라이브러리를 임포트합니다.

import pandas as pd

DatetimeIndex 생성

이제 기간(period)은 6, 빈도(freq)는 'D'(즉, 일 단위)로 설정하여 DatetimeIndex를 생성합니다. 시간대는 호주 시드니(Australia/Sydney)로 지정합니다.

datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='D')

생성된 DateTimeIndex를 출력해 보겠습니다.

print("DateTimeIndex...\n", datetimeindex)

그다음 시간대 정보를 가져옵니다.

print("\nGet the timezone..\n", datetimeindex.tz)

전체 예제 코드

아래는 위 과정을 모두 포함한 전체 코드입니다.

import pandas as pd

# 기간 6, 빈도 D(일 단위)로 DatetimeIndex 생성
# 시간대는 Australia/Sydney로 지정
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='D')

# DateTimeIndex 출력
print("DateTimeIndex...\n", datetimeindex)

# DateTimeIndex의 빈도 출력
print("DateTimeIndex frequency...\n", datetimeindex.freq)

# 시간대 추출
print("\nGet the timezone..\n", datetimeindex.tz)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

DateTimeIndex...
DatetimeIndex(['2021-10-20 02:30:50+11:00', '2021-10-21 02:30:50+11:00',
'2021-10-22 02:30:50+11:00', '2021-10-23 02:30:50+11:00',
'2021-10-24 02:30:50+11:00', '2021-10-25 02:30:50+11:00'],
dtype='datetime64[ns, Australia/Sydney]', freq='D')
DateTimeIndex frequency...
<Day>

Get the timezone..
Australia/Sydney

정리

출력 결과를 보면 각 날짜에 '+11:00' 오프셋이 표시되고, dtype에 'Australia/Sydney' 시간대가 포함된 것을 확인할 수 있습니다. 마지막으로 datetimeindex.tz 속성을 통해 'Australia/Sydney'라는 시간대 문자열이 정상적으로 추출된 것을 볼 수 있습니다. 이처럼 tz 속성을 활용하면 시계열 데이터의 시간대 정보를 손쉽게 확인할 수 있습니다.