Pandas: 날짜 및 시간 열을 결합하는 방법


다음 구문을 사용하여 Pandas DataFrame의 날짜 및 시간 열을 단일 열로 결합할 수 있습니다.

 df[' datetime '] = pd. to_datetime (df[' date '] + ' ' + df[' time '])

이 구문에서는 날짜시간 열이 모두 현재 문자열이라고 가정합니다.

두 열이 모두 문자열이 아닌 경우 astype(str)을 사용하여 문자열로 변환할 수 있습니다.

 df[' datetime '] = pd. to_datetime (df[' date ']. astype ( str ) + ' ' + df[' time ']. astype ( str ))

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: Pandas에서 날짜 및 시간 열 결합

날짜 열과 시간 열을 포함하는 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': ['10-1-2023', '10-4-2023', '10-6-2023', '10-6-2023',
                            '10-14-2023', '10-15-2023', '10-29-2023'],
                   ' time ': ['4:15:00', '7:16:04', '9:25:00', '10:13:45',
                            '15:30:00', '18:15:00', '23:15:00']})

#view DataFrame
print (df)

         date time
0 10-1-2023 4:15:00
1 10-4-2023 7:16:04
2 10-6-2023 9:25:00
3 10-6-2023 10:13:45
4 10-14-2023 15:30:00
5 10-15-2023 18:15:00
6 10-29-2023 23:15:00

날짜시간 열의 값을 결합하는 datetime 이라는 새 열을 생성한다고 가정해 보겠습니다.

이를 위해 다음 구문을 사용할 수 있습니다.

 #create new datetime column
df[' datetime '] = pd. to_datetime (df[' date '] + ' ' + df[' time '])

#view updated DataFrame
print (df)

         datetime datetime
0 10-1-2023 4:15:00 2023-10-01 04:15:00
1 10-4-2023 7:16:04 2023-10-04 07:16:04
2 10-6-2023 9:25:00 2023-10-06 09:25:00
3 10-6-2023 10:13:45 2023-10-06 10:13:45
4 10-14-2023 15:30:00 2023-10-14 15:30:00

새로운 날짜/시간 열은 날짜시간 열의 값을 단일 열로 성공적으로 결합했습니다.

또한 dtypes 함수를 사용하여 DataFrame의 각 열의 데이터 유형을 확인할 수도 있습니다.

 #view data type of each column
df. dtypes

date object
time object
datetime datetime64[ns]
dtype:object

결과에서 날짜시간 열은 모두 객체(예: 문자열)이고 새 날짜/시간 열은 날짜/시간임을 알 수 있습니다.

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

추가 리소스

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

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

의견을 추가하다

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