2019.07.03 Matplotlib 사용시 index 타입의 중요성(pandas.to_datetime)
오늘 알게 된 사실은 , Matplotlib 를 통해 DataFrame 을 시각화 할 때 index 의 값이 어떤 것인지 , 어떤 타입인지에 따라 그 영향력이 다르게 작용한다는 것이었습니다 . 제가 시각화 하고자 한 자료는 코스피 200 과 S&P500 의 모든 일일 종가 데이터였습니다 . join_df.head() 를 통해 어떤 데이터가 있는 지 확인할 수 있습니다 . join_df 는 코스피 200 의 데이터프레임과 S&P500 의 데이터프레임이 합쳐져 들어가 있는 DF 객체 입니다 . join_df.tail() 을 통해 맨 마지막 데이터를 확인할 수 있습니다 . 2006-01-03~2019-07-03 의 데이터로 , 총 3238 개의 데이터가 존재합니다 . matplotlib 라이브러리를 통해 선형 그래프를 그리려고 만든 코드입니다 . 이때까지는 큰 문제가 없는 듯했습니다 . 하지만 , 시간이 매우 오래 걸렸을 뿐더러 ( 한 10 분 남짓 걸렸습니다 ), 그래프의 모양 조차 이상했습니다 . x 축의 값이 보이지 않고 까만 줄로 표시되어 있었으며 , 그리드 또한 매우 조밀하게 그려져 있었습니다 . 대체 무엇이 문제였을까요 ? 알아본 결과 , x 축을 담당하는 index 에 문제가 있다는 것을 확인했습니다 . 확인해 보시면 인덱스인 date 값이 , datetime 타입이 아닌 object, 즉 문자열 형태로 이루어져 있는 것을 알 수 있습니다 . 그렇기에 matplotlib 가 선형 그래프를 그릴 시 , x 축의 모든 값에 의미가 있다고 판단 , 융통성 있게 데이터를 정렬하지 않고 모든 인덱스를 그래프에 표시한 것입니다 . 그렇다면 인덱스의 값들을 형 변환해주면 문제가 해결될 것입니다 . 하지만 문제는 , 약 3000 개가량 되는 인덱스를 언제 일일이 바꾸고 있을까요 ? 아예 데이터 ...