데이터를 분석하다보면, 날짜를 인덱스로 써야하는 날이 온다. 이번 포스팅에서는 파일을 불러올 때, 날짜를 인덱스로 설정하는 파이썬 코드에 대해 알아보겠다.
data = pd.read_csv(경로, index_col = '컬럼명', parse_dates = True) |
parse_dates는 날짜를 datetime 형태로 변환할지 여부인데, True라고 했으니 해당 컬럼에 있는 데이터는 날짜 형태가 된다.
colab에서 실행하다보니, 위에서 데이터를 'downloaded'에 넣어놓았다. 만약 로컬에서 실행한다면, 저 downloded 대신 파일의 경로를 넣어야 한다.
인덱스 컬럼을 'Date'라는 컬럼명으로 넣었고, parse_dates= True로 날짜 타입으로 변경했다.
2.1) df.columns 컬럼명에 'Date'가 없는 것을 볼 수 있다. Date컬럼은 인덱스가 되었다.
2.2) df.dtypes 데이터타입을 확인하는 코드에서도 Date컬럼은 없다. (인덱스는 컬럼이 아니다.)
2.3) df.index 인덱스를 확인하는 코드인데, 가장 아랫줄에 dtype = 'datetimes64[ns]'로 데이터타입이 날짜임을 확인할 수 있다.
그렇다면, 언제 인덱스를 날짜로 하는 것이 필요할까? 연도별, 월별 기술통계를 낼 때 편하게 이용할 수 있다.
2.4) df['년(월)].describe() 이 코드는 특정년도, 특정년월의 기술통계를 확인하는 코드이다. 데이터타입이 Datetime으로 되어 있어야만 쓸 수 있는 코드이니, 만약 오류가 났다면 df.index로 인덱스의 데이터타입을 확인해보자.
2010년에 max값과 2010년 2월의 max값은 2배 넘게 차이가 난다. (25/50/75%는 큰 차이가 없음) 특정달의 max값에 outlier가 존재하는 듯하다.
날짜를 인덱스로 만드는 파이썬 코드. 어렵지 않다! 월별/연도별로 데이터 분석을 하는 사람이라면 꼭 알아야 할 내용이다.
* 위 내용은 내돈내고(!) '드립력으로 머신러닝 배우기 기초아니야반' 에서 배운 내용이다.
** 혹시 수정되어야 할 부분이 있으면 댓글로 알려주세요! (저도 공부하는 중입니다 ^^)
'낭만적(?) 일상 > 파이썬, 데이터분석' 카테고리의 다른 글
CDP(Customer Data Platfrom) 정의, 사례, 업체 (7) | 2020.01.27 |
---|---|
데이터 분석시, 배깅(Bagging)을 하는 이유 (0) | 2019.07.24 |
데이터 표준화(standardization), 정규화(normalization) 차이점 (0) | 2019.06.30 |
파이썬 전처리③정규화(normalization)로 scale맞추기 (2) | 2019.06.29 |
파이썬 전처리②표준화(standardization)로 이상치제거 (2) | 2019.06.28 |