[pandas] 시계열2 - 시간대와 기간

Bpius·2023년 5월 29일
0
post-thumbnail

시간대

시계열을 다룰 때에는 기본적으로 현재 국제표준이며 그리니치 표준시를 계승하는 국제표준시(UTC:Coordinated Universal Time/Universal Time Coordinated)를 선택해서 사용한다.

pytz

파이썬에서 시간대 정보는 전 세계 시간대 정보를 모아둔 올슨 데이터베이스를 담고 있는 서드파티 라이브러라인 pytz에서 가져온다.

현재 파이썬은 한국/서울의 시간대로 설치가 되어 있어서 반환하지만 그렇지 않을 경우와 다른 나라의 시간대를 확인하려면 아래와 같이 해주면 된다.


시간대의 시간을 변수에 지정해서 자료로 활용가능하다.

tz_localize / tz_convert

현재의 시간대를 다른 지역의 시간대로 변형할 수 있다.
시간대를 지역화 하려면 'tz_localize'를 사용하면 된다.

뉴욕으로 시간대를 잡은 것을 서울로 바꿔보자. 시계열이 특정 시간대로 지역화되고 나면 'tz_convert'를 이용하여 다른 지역 시간대로 변환할 수 있다.

위의 방법으로 'Timestamp'도 활용할 수 있다.
현재의 시간을 뉴욕의 시간대로 변환하여 다시 한국 시간대로 바꿔볼 수 있다. 그러면 현재 시간을 뉴욕에 있는 것처럼 시간대를 지정된 후에 13시간이 빠른 한국의 시간대로 변경할 수 있다.

기간과 기간 연산

pd.Period

정해진 빈도를 지정해서 계산에 이용할 수 있다.
기간 빈도를 '월'로 지정하여 활용할 수 있다.

'일'로 저장할 수도 있는 등 원하는 기간 지정을 할 수 있다.

freq='A' 'A'는 달력상 마지막 월을 나타내는데, 이를 이용해서,

특정 월을 마지막 월로 지정하여 사용할 수 있다. 달력상 마지막 월을 6월로 지정하면 시작월은 작년 7월이다.

이런 방식으로 분기도 활용할 수 있다. 영업 분기의 빈도 'Q'를 이용하여 활용할 수 있다. 7월은 해당 년도의 3분기를 나타낸다.

20년 4분기를 6월로 지정할 수도 있다.

분기로 지정하였기 때문에 연산이 가능한데, 해당 분기(4분기)에서 2분기 전의 월, 즉 2분기의 시작월을 확인해 볼 수 있다.

to_period

기간을 타임스탬프로 변환하려면 to_period를 활용할 수 있다. 기간을 '일', 혹은 '월'로 나타낼 수 있다.

profile
데이터 굽는 타자기

0개의 댓글