Pandas에서 열을 datetime으로 변환하는 방법
종종 Pandas DataFrame의 하나 이상의 열을 DateTime 형식으로 변환하는 데 관심이 있을 수 있습니다. 다행히도 to_datetime() 함수를 사용하면 이 작업을 쉽게 수행할 수 있습니다.
이 튜토리얼에서는 다음 DataFrame에서 이 함수를 사용하는 몇 가지 예를 보여줍니다.
import numpy as np import pandas as pd #createDataFrame df = pd.DataFrame({'event': ['A', 'B', 'C'], 'start_date': ['20150601', '20160201', '20170401'], 'end_date': ['20150608', '20160209', '20170416'] }) #view DataFrame df event start_date end_date 0 A 20150601 20150608 1 B 20160201 20160209 2 C 20170401 201704161 #view column data types df. dtypes event object start_date object end_date object dtype:object
예 1: 단일 열을 DateTime으로 변환
다음 코드는 “start_date” 열을 문자열에서 DateTime 형식으로 변환하는 방법을 보여줍니다.
#convert start_date to DateTime format df['start_date'] = pd. to_datetime (df['start_date']) #view DataFrame df event start_date end_date 0 A 2015-06-01 20150608 1 B 2016-02-01 20160209 2 C 2017-04-01 20170416 #view column date types df. dtypes event object start_date datetime64[ns] end_date object dtype:object
to_datetime() 함수는 지능적이며 일반적으로 사용할 올바른 날짜 형식을 추론할 수 있지만 형식 인수와 함께 사용할 형식을 지정할 수도 있습니다.
#convert start_date to DateTime format df['start_date'] = pd. to_datetime (df['start_date'], format=' %Y%m%d ') #view DataFrame df event start_date end_date 0 A 2015-06-01 20150608 1 B 2016-02-01 20160209 2 C 2017-04-01 20170416 #view column date types df. dtypes event object start_date datetime64[ns] end_date object dtype:object
예 2: 여러 열을 DateTime으로 변환
다음 코드는 “start_date” 및 “end_date” 열을 문자열에서 DateTime 형식으로 변환하는 방법을 보여줍니다.
#convert start_date and end_date to DateTime formats df[['start_date', 'end_date']] = df[['start_date', 'end_date']]. apply (pd. to_datetime ) #view DataFrame df event start_date end_date 0 A 2015-06-01 2015-06-08 1 B 2016-02-01 2016-02-09 2 C 2017-04-01 2017-04-16 #view column date types df. dtypes event object start_date datetime64[ns] end_date datetime64[ns] dtype:object
예 3: 열을 초 단위의 DateTime 형식으로 변환
경우에 따라 다음 DataFrame과 같이 날짜는 물론 시, 분, 초를 포함하는 열이 있을 수도 있습니다.
#createDataFrame df = pd.DataFrame({'event': ['A', 'B', 'C'], 'start_date': ['20150601043000', '20160201054500', '20170401021215'], 'end_date': ['20150608', '20160209', '20170416'] }) #view DataFrame df event start_date end_date 0 A 20150601043000 20150608 1 B 20160201054500 20160209 2 C 20170401021215 20170416
다시 말하지만, to_datetime() 함수는 똑똑하며 일반적으로 지정하지 않고도 사용할 올바른 형식을 추론할 수 있습니다.
#convert start_date to DateTime format df['start_date'] = pd. to_datetime (df['start_date']) #view DataFrame df event start_date end_date 0 A 2015-06-01 04:30:00 20150608 1 B 2016-02-01 05:45:00 20160209 2 C 2017-04-01 02:12:15 20170416 #view column date types df. dtypes event object start_date datetime64[ns] end_date object dtype:object
물론, 실제로는 다양한 이상한 DateTime 형식을 접하게 될 수 있으므로 Python에서 사용할 DateTime 형식을 정확히 알려주기 위해 format 인수를 사용해야 할 수도 있습니다.
이러한 경우 형식을 지정하는 데 사용할 수 있는 %DateTime 연산자의 전체 목록을 보려면 이 페이지를 참조하세요.
추가 리소스
Pandas에서 DateTime을 날짜로 변환하는 방법
Pandas에서 문자열을 부동 소수점으로 변환하는 방법