본문 바로가기
공부/데이터

[pandas] read_csv 사용 시 날짜를 datetime 형태로 지정하기

by demonic_ 2019. 12. 10.
반응형

csv 의 특정 컬럼 중 날짜형태(yyyy-MM-dd hh:mi:ss) 로 표시되어 있어도 csv를 불러오면 object(string) 형태로 선언되어 있다.

이전까지는 padnas.to_datetime 을 이용해서 형태를 바꿨는데 데이터가 1000만 건이상이 되면 변환해주는것도 시간이 꽤 소요된다.

그래서 옵션을 추가해 처음 로드할때 부터 데이터타입을 맞추는게 더 효율적이다.

 

read_csv를 이용할때 옵션을 주면 datetime 형태로 로드가 가능하다

 

 

이번 포스팅은 샘플파일 기준으로 작성했다.

sample2.csv
0.00MB

 

샘플데이터는 다음과 같이 저장되어 있다.

 

read_csv를 이용할때 옵션을 주면 datetime 형태로 로드가 가능하다

id,상품명,구매
1,아메리카노,2019-12-01 11:20:00
2,카페라떼,2019-12-01 11:20:30
3,아메리카노,2019-12-01 11:20:31
4,카푸치노,2019-12-01 11:20:40
5,카페라떼,2019-12-01 11:21:01

 

 

jupyter notebook 을 이용해 실습해보자

import pandas as pd

dt = pd.read_csv('sample2.csv')

dt

dt.dtypes

 

아무런 옵션을 주지 않으면 위와 같이 구매일이 object 로 지정되어 있다.

이 상태에서 pd.to_datetime 를 이용해 날짜를 바꿀 수 있다.

dt['구매일'] = pd.to_datetime(dt['구매일'])

dt.dtypes

참조 포스팅:

https://lemontia.tistory.com/884

 

[pandas] 날짜 문자열을 datetime 형태로 변경

string 형태로 사용해도 문제가 없다면 써도 상관없겠지만, 시계열쪽을 하려면 미리 가공하는 연습을 해두는게 좋을듯 하다. import pandas as pd from pandas import DataFrame data = [['눈을감자','2019-10-01..

lemontia.tistory.com

 

 

 

 

# csv 파일을 로드할때 지정하기

 

read_csv에 parse_dates 옵션을 추가한다.

datetime 형태로 변경되어야 하는 컬럼명을 지정한다

dt2 = pd.read_csv('sample2.csv', parse_dates=['구매일'])

dt2

 

데이터유형 확인

dt2.dtypes

끝.

반응형

댓글