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

Зверніть увагу, що новий стовпець datetime успішно об’єднав значення зі стовпців дати та часу в один стовпець.

Ми також можемо використовувати функцію dtypes для перевірки типів даних кожного стовпця в DataFrame:

 #view data type of each column
df. dtypes

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

З результату ми бачимо, що стовпці дати та часу є об’єктами (тобто рядками), а новий стовпець datetime є датою та часом.

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

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

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

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

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

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