티스토리 뷰
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
'개발 > 파이썬' 카테고리의 다른 글
Python에서 파일이 이진 파일(텍스트가 아님)인지 아닌지 확인하는 방법 (0) | 2023.02.22 |
---|---|
Python 사전(dictionary)에서 값에 대해 매핑(mapping)하는 방법 (0) | 2023.02.22 |
'UserWarning: Could not import the lzma module ' 수정하기 (0) | 2023.02.21 |
파이썬에서 리스트(list)와 튜플(tuple)을 사용하는 각각의 경우 고찰 (0) | 2023.02.21 |
두 개의 딕셔너리를 비교하고 (key, value) 쌍이 얼마나 일치하는지 확인하기 (0) | 2023.02.20 |