개요
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 속성을 활용하면 시계열 데이터의 시간대 정보를 손쉽게 확인할 수 있습니다.