Data engineering/데이터 전처리

Python 을 이용한 날짜 데이터 전처리

amelia-suyeon 2023. 6. 5. 13:45

필자는 원하는 날짜 형태 및 DB insert 할 때, DB가 원하는 날짜 포맷으로 바꾸기 위한 여정을 기록함! 

 

보통 엑셀이나 csv 파일의 날짜는 char 형이 많음 -> DB insert 할 때 타입 및 형식을 꼭 바꿔줘야함 !!! 

[char → date type으로 변경 하는 법] - Python 기준 

- Datetime 형식으로 변환하는 2가지 방법

 

1. 판다스의 to_datetime() 함수를 이용하는 방법

 

to_datdtime() 함수의 argument로 df의 date 컬럼을 넘겨준다.

예시 ) pd.to_datetime(df[’date’]) → 꼭 적용하고 싶은 컬럼에 적용 시켜줘야 함

 

2. 판다스의 apply() 함수를 이용해 datetime 모듈을 이용한 방법

 

from datetime import datetime

df['date'].apply(lambda _ : datetime.strptime(_,'%Y%m%d'))

df['date']=df['date'].apply(lambda _ : datetime.strptime(_,'%Y%m%d'))

df.info() —> 확인

 

[모듈화 가능]

def transform_datetype(df): df['date'] = df['date'].astype('str') df['date'] = pd.to_datetime(df['date']) return df

df = pd.read_csv('./DA000020.csv') df = transform_datetype(df) df

 

 

<실제 적용한 부분> 

dfitem['CREATED_DATE'] = pd.to_datetime(dfitem['CREATED_DATE'], format="%Y-%m-%d %H:%M")

dfitem['UPDATED_DATE'] = pd.to_datetime(dfitem['UPDATED_DATE'], format="%Y-%m-%d %H:%M")

—> 여기서 실제 데이터의 날짜 형식과 맞춰서 format 작성 해야 함!