Pandas: як перетворити індекс на дату/час


Ви можете використати такий синтаксис, щоб перетворити стовпець індексу pandas DataFrame у формат дати й часу:

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

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: перетворення стовпця індексу на дату й час у Pandas

Припустимо, що у нас є такий фрейм даних pandas, який містить інформацію про продажі продуктів у магазині:

 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() для перетворення стовпця індексу у формат 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(), ми можемо перетворити стовпець індексу у формат дати й часу.

Отже, ми можемо успішно створити новий стовпець під назвою час , який містить годинний час у стовпці індексу, не отримуючи жодних помилок.

Примітка . Ви можете знайти повну документацію функції pandas to_datetime() тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Як створити діапазон дат у Pandas
Як перетворити позначку часу в дату/час у Pandas
Як розрахувати різницю між двома датами в пандах

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *