개발학습일지

[AI] date 컬럼 오브젝트에서 datetime으로 변경하기, 요일 정보 컬럼으로 넣기 _판다스 to_datetime() 본문

AI/데이터 전처리

[AI] date 컬럼 오브젝트에서 datetime으로 변경하기, 요일 정보 컬럼으로 넣기 _판다스 to_datetime()

처카푸 2024. 4. 24. 09:31

데이타프레임의 date 컬럼을 전세계가 알아보는 시간 Date ISO 포멧으로 바꾸는 방법

 

준비한 데이타프레임 chicago_df의 info

chicago_df.info()
>>>
    <class 'pandas.core.frame.DataFrame'>
    Index: 6017767 entries, 0 to 1456713
    Data columns (total 8 columns):
     #   Column                Dtype 
    ---  ------                ----- 
     0   ID                    int64 
     1   Date                  object
     2   Block                 object
     3   Primary Type          object
     4   Description           object
     5   Location Description  object
     6   Arrest                bool  
     7   Domestic              bool  
    dtypes: bool(2), int64(1), object(5)
    memory usage: 332.9+ MB

 

Date 컬럼의 Dtype을 datetime으로 바꿔야 한다

- pd.to_datetime() 함수 사용

# format 파라미터를 이용해서 시간 설정한다
chicago_df['Date'] = pd.to_datetime(chicago_df['Date'], format='%m/%d/%Y %I:%M:%S %p')

# 바뀐 후 인포
chicago_df.info()
>>>
    <class 'pandas.core.frame.DataFrame'>
    Index: 6017767 entries, 0 to 1456713
    Data columns (total 8 columns):
     #   Column                Dtype         
    ---  ------                -----         
     0   ID                    int64         
     1   Date                  datetime64[ns]
     2   Block                 object        
     3   Primary Type          object        
     4   Description           object        
     5   Location Description  object        
     6   Arrest                bool          
     7   Domestic              bool          
    dtypes: bool(2), datetime64[ns](1), int64(1), object(4)
    memory usage: 332.9+ MB

 

 

요일 알아보기 

 

원하는 벨류 값에 요일 숫자로 알아 볼 수 있다

# weekday() 사용
chicago_df.iloc[ 0, 1 ].weekday()

 

요일 정보를 새로운 컬럼으로 넣을 수 있다

# Date 컬럼의 dt.weekday 사용해서 요일정보 가져오기
chicago_df['weekday'] = chicago_df['Date'].dt.weekday

# 숫자로 가져온 요일 정보를 한글 요일로 변경
chicago_df['day_name'] = chicago_df['Date'].dt.day_name(locale='ko')