판다스 to_datetime(format)

생각하는 마리오네트·2022년 1월 14일
0

판다스

목록 보기
5/13

to_datetime

자료형으로 표현된 날짜를 to_datetime을 사용하면 datetime형으로 변경할 수 있다.

다음과 같은 데이터 프레임이 있다고 가정해보자. 모든 값을 object형태로 되어있고 우리는 이를 datetime으로 바꿔야한다.

이렇게 to_datetime으로 바꿀 수 있고 뒤에오는 infer_datetime_format 은 datetime이 어떻게 구성되어있는지 확인후 자동으로 변환해주는 것이므로 True를 써주는것이다.

파라미터 format

위와 같이 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")

이렇게 사용해 주면 된다.

profile
문제를해결하는도구로서의"데이터"

0개의 댓글