주식 차트 만들 때 필수로 쓰이는 기술에 대해 논하고자 한다.
차트를 만들때 datetime을 index로 처리를 해줘야할 때가 있다.
종종 시간과 날짜 정보는 별도의 열에 있을뿐만 아니라 실제 색인이 되기도 한다.
그럴 때를 위하여 index로 처리를 해줘야할 필요가 있다.
이번 강의에서는 서로 서로 다르게 모여진 자료들을 모으고 모아서 하나의 DataFrame으로 구성해보는 시간을 갖겠다.
백문이 불여일견
우선 아래와 같이 작업을 해보자.
지금까지 배워왔던 library들이 지속적으로 쓰일 것이니, 항상 붙여주도록하자.
datetime함수
Python의 datetime 함수는 정말 굉장히 쓰기 용이하다.
대략적인 스트링을 내가 작성한다음에 이렇게 시간을 구성해줘~ 라고 외치면 알아서 시간化 해준다.
아래와 같이 년, 월, 일, 시간, 분, 초를 작성해봤다.
년, 월, 일 세가지만 작성해도 정상적으로 작동한다.
정상적으로 보이는지 확인해보자.
datetime.datetime의 형태로 보여지는 것을 확인할 수 있다.
또 우리가 바랬던 것 처럼, 시간, 분, 초까지 작성하니 그 내용도 제대로 보이는 것이 보인다.
아울러 등록한 이후엔, 내가 원하는 시간을 뽑아서 사용할 수 있는 것도 확인할 수 있다. (my_date_time.day는 일자를 뜻하는 것이겠지..)
본격적으로 시간을 만들어보자.
index 및 Data 만들기
DatetimeIndex함수
column 만들기
그냥 cols라고 해서 a, b를 넣어보았다. 설마 잃어버린 건아니겠지...
합산하여 Data Frame으로 만들기
df = pd.DataFrame(data,dt_ind,cols)
그리고 df를 찍어보면 값이 정상적으로 찍히는 것을 확인할 수 있다.
DataFrame에 datetimeindex가 된이상
type(df.index)를 찍어보니, datetimes,DatetimeIndex라는 속성을 갖고 있다.
아까전에 말했던 것처럼, pandas.core.indexes.datetimes.DatetimeIndex은 다양한 내용을 제공해준다.
argmax(), max(), argmin(), min()등.. 정말 다양한 값을 제공해준다.
자 여기까지 DataFrame을 작성하는 내용을 만들어보았다.
내일, 아니면 모레.. 시간이 난다면 Time Resampling에 대한 강좌를 작성해보겠다.
Time Resampling은 정말 꿀정보다.! 매일갖고 있는 데이터를 month단위로, year단위로 데이터를 변경하여 작성하는 것이니 말이다.
암튼 많은 기대 해주시고~ 궁금한 내용 있으면 댓글 부탁부탁드려요~
'Python > 04_Pandas를 통한 시계열 데이터 (Time Series) 처리' 카테고리의 다른 글
2. Time Resampling (0) | 2017.10.10 |
---|---|
0. (개요) Pandas with Time Series (시계열 데이터를 Panda롤 뽀개자!) (0) | 2017.10.09 |