이번 포스팅은 파이썬을 이용해 TimeSeries Data를 본격적으로 다뤄보기 전에, Pandas 및 여러 메소드를 이용해서 DateTime을 어떻게 다루는지 알아보는 포스팅이다
파이썬이나 R로 데이터를 다뤄분들은 아시겠지만, 시간을 어떻게 설정하고, 이것을 인덱스로 표현하는데 있어 난감한 경우가 많았다
그렇기에 이번 포스팅에서는 파이썬으로 DateTime을 표현하는데 있어서 다양한 방법들과 그것들을 활용하는 방법까지 살펴보는 예제를 포스팅한다
#%% datetime, Numpy 그리고 Pandas를 이용해 시간을 표현하는 방법들을 살펴보자 from datetime import datetime import numpy as np import pandas as pd #%% DateTime 모듈을 이용해서 표현하는 방법 my_year = 2020 my_month = 1 my_day = 2 my_hour = 13 my_min = 30 my_sec = 15 my_date = datetime(my_year, my_month, my_day) #년도, 달, 일 까지만 표현 my_date my_date_time = datetime(my_year, my_month, my_day, my_hour, my_min, my_sec) #년도, 달, 일, 그리고 시간까지 표현 my_date_time my_date_time.day #%% Numpy 모듈을 이용해 시간을 표현하는 방법 np.array(['2020-03-15', '2020-03-16', '2020-03-17'], dtype='datetime64') np.array(['2020-03-15', '2020-03-16', '2020-03-17'], dtype='datetime64[Y]') # 년도 까지만 표현 np.array(['2020-03-15', '2020-03-16', '2020-03-17'], dtype='datetime64[D]') # 일 까지만 표현 np.array(['2020-03-15', '2020-03-16', '2020-03-17'], dtype='datetime64[h]') np.arange('2018-06-01','2018-06-23',7,dtype='datetime64[D]') #일별 기준으로 2018년 6월 1일부터 7일기준으로 2018년 6월 23일까지 표현 #%% Pandas 모듈을 이용해 시간을 표현하는 방법 pd.date_range('2020-01-01', periods=7, freq='D') #일별 기준으로 2020년 1월 1일부터 7일간 표현 pd.date_range('Jan 01, 2018', periods=7, freq='D') #%% pd.to_datetime(['1/2/2018', 'Jan 03, 2018']) #US 스타일 pd.to_datetime(['1/2/2018', '3/1/2018'], format='%d/%m/%Y') #US 스타일 pd.to_datetime(['1--2--2018', '3--1--2018'], format='%d--%m--%Y') #US 스타일, format을 이용해 다양하게 표현된 시간을 정규형식으로 표현 가능하다 #%% Example data = np.random.randn(3,2) cols = ['A', 'B'] print(data) idx = pd.date_range('2020-01-01', periods=3, freq='D') df= pd.DataFrame(data, index=idx, columns=cols) df.index.max() df.index.argmax() df.index.min() df.index.argmin()
'Python > Time Series with Python' 카테고리의 다른 글
TimeSeries with Python _ Pandas 6 _ 년별 데이터 평균, idxmax (0) | 2019.12.25 |
---|---|
TimeSeries with Python _ Pandas 5 _ info, set_index, boxplot (0) | 2019.12.25 |
TimeSeries with Python _ Pandas 4 _plot (0) | 2019.12.24 |
TimeSeries with Python _ Pandas 3 _Shift, Rolling, Expanding (0) | 2019.12.24 |
TimeSeries with Python _ Pandas 2 _ resample (0) | 2019.12.23 |