날짜 변환이 안돼요...

조회수 718회

제가 크롤링해서 얻어온 날짜가 22.01.16. 이런 형태로 나와 데이트타임으로 변경시 있지도 않은 시간대로 변경되는 버그가 발생합니다. 이런 상황에서는 어떻게 날짜를 변경해야 올바르게 날짜로 변환할 수 있을까요??

이미지

1 답변

    1. pd.to_datetime 을 사용하고, format 인자로 형식을 주면 될 듯 합니다.
    2. datetime.datetime.strptime 은 하나의 문자열을 변환해 줍니다. pd.Series 나 list 에는 적용할 수 없습니다.
    >>> import pandas as pd
    
    >>> df = pd.DataFrame({"Date":[ "22.01.16", "22.01.15", "22.01.14", "22.01.13" ]})
    
    >>> pd.to_datetime(df["Date"], format="%y.%m.%d")
    0   2022-01-16
    1   2022-01-15
    2   2022-01-14
    3   2022-01-13
    Name: Date, dtype: datetime64[ns]
    
    >>> df.info()
    <class 'pandas.core.frame.DataFrame'>
    RangeIndex: 4 entries, 0 to 3
    Data columns (total 1 columns):
     #   Column  Non-Null Count  Dtype 
    ---  ------  --------------  ----- 
     0   Date    4 non-null      object
    dtypes: object(1)
    memory usage: 160.0+ bytes
    >>> df["Date_datetime"] = pd.to_datetime(df["Date"], format="%y.%m.%d")
    >>> df
           Date Date_datetime
    0  22.01.16    2022-01-16
    1  22.01.15    2022-01-15
    2  22.01.14    2022-01-14
    3  22.01.13    2022-01-13
    >>> df.info()
    <class 'pandas.core.frame.DataFrame'>
    RangeIndex: 4 entries, 0 to 3
    Data columns (total 2 columns):
     #   Column         Non-Null Count  Dtype         
    ---  ------         --------------  -----         
     0   Date           4 non-null      object        
     1   Date_datetime  4 non-null      datetime64[ns]
    dtypes: datetime64[ns](1), object(1)
    memory usage: 192.0+ bytes
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)