Pandas.to_datetime에서 형식을 지정하는 방법


pandas.to_datetime() 함수를 사용하여 pandas DataFrame의 문자열 열을 날짜/시간 열로 변환할 수 있습니다.

이 함수를 사용할 때 문자열에서 날짜/시간으로 변환할 때 오류를 방지하기 위해 형식 인수를 사용하여 날짜의 형식을 지정할 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

 df[' datetime '] = pd. to_datetime (df[' my_date_column '], format=' %m%d%Y %H:%M:%S '])

형식 인수에 제공할 수 있는 가장 일반적인 지시문은 다음과 같습니다.

  • %m : 0이 포함된 숫자로 표시된 월(01, 02, … 12)
  • %d : 0이 포함된 숫자로 표시된 날짜(01, 02, … 31)
  • %y : 세기를 숫자로 표현한 연도(2020, 2021, 2022 등)
  • %H : 0으로 채워진 숫자(00, 01, … 23)인 시간(24시간제)
  • %I : 0(01, 02, … 12)으로 채워진 숫자로 표시된 시간(12시간제)
  • %p : AM 또는 PM
  • %M : 0으로 완성되는 숫자 형태의 분(00, 01, … 59)
  • %S : 0으로 끝나는 숫자 형태의 초(00, 01, … 59)

전체 지침 목록은 이 페이지를 참조하세요.

다음 예에서는 다양한 시나리오에서 to_datetime() 함수의 형식 인수를 사용하는 방법을 보여줍니다.

예: pandas.to_datetime에 형식 지정

소매점에서 다양한 날짜에 발생한 총 매출에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': ['10012023 4:15:30', '10042023 7:16:04', '10062023 9:25:00',
                            '10142023 15:30:50', '10152023 18:15:00'],
                   ' sales ': [100, 140, 235, 120, 250]})

#view DataFrame
print (df)

                dirty dates
0 10012023 4:15:30 100
1 10042023 7:16:04 140
2 10062023 9:25:00 235
3 10142023 15:30:50 120
4 10152023 18:15:00 250

#view data type of each column in DataFrame
print ( df.dtypes )

date object
dirty int64
dtype:object

날짜 열이 현재 문자열(객체) 열임을 알 수 있습니다.

pandas.to_datetime()을 사용하여 이 열을 날짜/시간으로 변환한다고 가정해 보겠습니다.

 #attempt to convert date column to datetime format
df[' date '] = pd. to_datetime (df[' date '])

ParserError: month must be in 1..12: 10012023 4:15:30 present at position 0

pandas.to_datetime() 함수가 현재 날짜 열의 날짜 및 시간 형식을 인식하지 못하기 때문에 오류가 발생합니다.

형식 인수를 사용하여 열의 형식을 지정할 수도 있습니다.

 #convert date column to datetime format
df[' date '] = pd. to_datetime (df[' date '], format=' %m%d%Y %H:%M:%S ')

#view DataFrame
print (df)

                 dirty dates
0 2023-10-01 04:15:30 100
1 2023-10-04 07:16:04 140
2 2023-10-06 09:25:00 235
3 2023-10-14 15:30:50 120
4 2023-10-15 18:15:00 250

#view updated type of each column
print ( df.dtypes )

date datetime64[ns]
dirty int64
dtype:object

날짜 열이 날짜/시간 열로 성공적으로 변환되었으며 형식 인수를 사용하여 날짜 열의 정확한 형식을 지정했기 때문에 오류가 발생하지 않았음을 확인할 수 있습니다.

참고 : 여기에서 pandas to_datetime() 함수에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas에서 날짜 범위를 만드는 방법
Pandas에서 타임스탬프를 날짜/시간으로 변환하는 방법
팬더에서 두 날짜의 차이를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다