Pandas: 인덱스를 날짜/시간으로 변환하는 방법


다음 구문을 사용하여 Pandas DataFrame의 인덱스 열을 날짜/시간 형식으로 변환할 수 있습니다.

 df. index = pd. to_datetime ( df.index )

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

예: Pandas에서 인덱스 열을 날짜/시간으로 변환

매장의 제품 판매에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' time ': ['4-15-2022 10:15', '5-19-2022 7:14', '8-01-2022 1:14',
                            '6-14-2022 9:45', '10-24-2022 2:58', '12-13-2022 11:03'],
                   ' product ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' sales ': [12, 25, 23, 18, 14, 10]})

#set 'time' column as index
df = df. set_index (' time ')

#view DataFrame
print (df)

                 product sales
time                           
4-15-2022 10:15 A 12
5-19-2022 7:14 B 25
8-01-2022 1:14 C 23
6-14-2022 9:45 D 18
10-24-2022 2:58 E 14
12-13-2022 11:03 F 10

이제 인덱스 열에 시간을 포함하는 새 열을 생성하려고 한다고 가정합니다.

 #attempt to create new column that contains hour of index column
df[' hour '] = df. index . hour

AttributeError: 'Index' object has no attribute 'hour'

인덱스 열이 현재 날짜/시간 형식이 아니어서 ‘시간’ 속성을 포함하지 않기 때문에 오류가 발생합니다.

이 오류를 방지하려면 pandas to_datetime() 함수를 사용하여 인덱스 열을 날짜/시간 형식으로 변환할 수 있습니다.

 #convert index column to datetime format
df. index = pd. to_datetime ( df.index )

#create new column that contains hour of index column
df[' hour '] = df. index . hour

#view updated DataFrame
print (df)

                    product sales hour
time                                    
2022-04-15 10:15:00 At 12 10
2022-05-19 07:14:00 B 25 7
2022-08-01 01:14:00 C 23 1
2022-06-14 09:45:00 D 18 9
2022-10-24 02:58:00 E 14 2
2022-12-13 11:03:00 F 10 11

to_datetime() 함수를 사용하면 인덱스 열을 날짜/시간 형식으로 변환할 수 있습니다.

따라서 인덱스 열에 시간을 포함하는 time 이라는 새 열을 오류 없이 성공적으로 생성할 수 있습니다.

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

추가 리소스

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

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

의견을 추가하다

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