티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

Convert DataFrame column type from string to datetime

DataFrame의 문자열 열을 datetime으로 변환하기

 문제 내용 

How can I convert a DataFrame column of strings (in dd/mm/yyyy format) to datetime dtype?

DataFrame의 문자열 열(형식: dd/mm/yyyy)을 datetime dtype으로 어떻게 변환할 수 있을까요?

 

 

 높은 점수를 받은 Solution 

The easiest way is to use to_datetime:

가장 쉬운 방법은 to_datetime을 사용하는 것입니다:
df['col'] = pd.to_datetime(df['col'])

 

It also offers a dayfirst argument for European times (but beware this isn't strict).

dayfirst 인자를 사용하면 유럽 시간대를 처리할 수 있습니다(하지만 이것은 엄격하지 않다는 점에 유의하세요).

 

Here it is in action:

다음은 to_datetime을 사용한 예시입니다:
In [11]: pd.to_datetime(pd.Series(['05/23/2005']))
Out[11]:
0   2005-05-23 00:00:00
dtype: datetime64[ns]

 

You can pass a specific format:

특정한 형식을 지정할 수 있습니다:
In [12]: pd.to_datetime(pd.Series(['05/23/2005']), format="%m/%d/%Y")
Out[12]:
0   2005-05-23
dtype: datetime64[ns]

 

 

 가장 최근 달린 Solution 

If you have a mixture of formats in your date, don't forget to set infer_datetime_format=True to make life easier.

만약 날짜에 혼합된 형식이 있다면, infer_datetime_format=True를 설정해 더 쉽게 처리할 수 있습니다.

 

df['date'] = pd.to_datetime(df['date'], infer_datetime_format=True)

Source: pd.to_datetime

출처: pd.to_datetime

 

or if you want a customized approach:

혹은 커스터마이즈된 방법을 사용할 수 있습니다:
def autoconvert_datetime(value):
    formats = ['%m/%d/%Y', '%m-%d-%y']  # formats to try
    result_format = '%d-%m-%Y'  # output format
    for dt_format in formats:
        try:
            dt_obj = datetime.strptime(value, dt_format)
            return dt_obj.strftime(result_format)
        except Exception as e:  # throws exception when format doesn't match
            pass
    return value  # let it be if it doesn't match

df['date'] = df['date'].apply(autoconvert_datetime)

 

 

출처 : https://stackoverflow.com/questions/17134716/convert-dataframe-column-type-from-string-to-datetime

반응형
댓글
공지사항
최근에 올라온 글