Pandas: как объединить столбцы даты и времени


Вы можете использовать следующий синтаксис, чтобы объединить столбцы даты и времени DataFrame pandas в один столбец:

 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

Допустим, у нас есть следующий DataFrame pandas, который содержит столбец даты и столбец времени:

 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

Из результата мы видим, что столбцы даты и времени являются объектами (т.е. строками), а новый столбец даты и времени представляет собой дату и время.

Примечание . Полную документацию по функции pandas to_datetime() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как создать диапазон дат в Pandas
Как преобразовать временную метку в дату/время в Pandas
Как рассчитать разницу между двумя датами в пандах

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *