자료형으로 표현된 날짜를 to_datetime을 사용하면 datetime형으로 변경할 수 있다.
다음과 같은 데이터 프레임이 있다고 가정해보자. 모든 값을 object형태로 되어있고 우리는 이를 datetime으로 바꿔야한다.
이렇게 to_datetime으로 바꿀 수 있고 뒤에오는 infer_datetime_format 은 datetime이 어떻게 구성되어있는지 확인후 자동으로 변환해주는 것이므로 True를 써주는것이다.
위와 같이 2008년01월 이라고 적힌 하나의 컬럼을 다루어 볼때 해당 컬럼은 현재 object형인데 이것을 datetime으로 바꾸려면 어떻게 해야할까??
pd.to_datetime(df_melt['년월'])
위와 같이 pd.to_datetime을 그냥 넣게 되면 아래와 같은 에러가 뜬다.
이럴때 써야하는것이 바로 format이다.
다시한번 위의 컬럼을 살펴보자.
컬럼은 object형태로 '2008년01월' 형태라고 볼 수 있는데
이것은 형태가 "날짜"년" 날짜"월 의 형태를 가지고 있기 때문에 pd.to_datetime이 인식을 못하는 것이다. 따라서 이것을 바꾸기 위해서는 아래와 같이 사용해야 한다.
pd.to_datetime(df_melt['년월'], format="%Y년%m월")
format인자를 주어 년과 월을 같이 넣어주는 형태이다.
만약에 다른 문자열이 있다면 어떻게 해야할까??
'2008-01' 이렇게 datetime형식같지만 일반 오브젝트로 되어있다면
pd.to_datetime(df_melt['년월'], format="%Y-%m")
이렇게 사용해 주면 된다.