▧ python에서는 특별하게 datetime이라는 type이 존재한다 ▧
from datetime import datetime
→ 시계열 데이터로 바꾸기 위해서는 'xxxx-xx-xx (년-월-일)' data에 datetime()을 붙인다
dt = datetime(2022,1,24,21,30,42)
dt.year #2022
dt.month #1
dt.day #24
dt.hour #21
dt.minute #30
dt.second #42
→ 시계열 data는 indexing / slicing이 가능! (문자열과 다른 점)
ex) pandas_datareader를 이용해 data를 import하고 '삼성증시' dataframe을 가져온다고 하면
!pip install pandas_datareader
from pandas_datareader import data
sdf = data.get_data_yahoo('005930.KS','2017-01-01')
sdf
- sdf의 dtypes를 확인하면 index column의 dtype은 datetime이다
> 여기서 sdf['2019']를 해보면?
('2019'라는 row가 없는데도 불구하고 2019년에 해당하는 정보가 쭉 출력이 된다!) ← datetime형이어서 가능한 소리..!
sdf['2019']
- sdf의 2019년 info -
> sdf['2019-01' : '2019-06']과 같이 slicing을 해서 2019년 1월 ~ 6월 data를 출력해본다면?
(1월부터 6월까지의 data가 쭉 출력이 된다) ← datetime형이어서 가능한 소리..!
sdf['2019-01' : '2019-06']
- sdf의 2019년 1월 ~ 6월 info -
> 원하는 datetime형의 column에 year, month 등등을 보여줄 수 있다
> datetime형의 year, month 등등 연도별, 월별, 일별 시간대별로 groupby + agg function과 함께 집계현황도 볼 수 있다
(또는 dataframe의 method resample(rule = ~)을 이용해서 원하는 data를 출력할 수 있음)
g = sdf.groupby([sdf.index.year, sdf.index.month])
g.mean()
- 집계 결과 -
(**) 그 외 자세한 건 '모두'! docu에
https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html
*출처) 2021 공공데이터 청년인턴(일경험수련생) 상시교육
'Python > Fundamentals' 카테고리의 다른 글
Python Basics(2). (from Coursera) (0) | 2022.04.13 |
---|---|
Python Basics(1). (from Coursera) (0) | 2022.04.04 |
list comprehension (0) | 2022.03.20 |
Module & Package (0) | 2022.03.19 |
python intro. (03) (0) | 2022.03.19 |
댓글