Pandas: como combinar colunas de data e hora
Você pode usar a seguinte sintaxe para combinar as colunas de data e hora de um DataFrame do pandas em uma única coluna:
df[' datetime '] = pd. to_datetime (df[' date '] + ' ' + df[' time '])
Observe que esta sintaxe assume que as colunas de data e hora são strings atuais.
Se ambas as colunas ainda não forem strings, você poderá usar astype(str) para convertê-las em strings:
df[' datetime '] = pd. to_datetime (df[' date ']. astype ( str ) + ' ' + df[' time ']. astype ( str ))
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: combinar colunas de data e hora em Pandas
Digamos que temos o seguinte DataFrame do pandas que contém uma coluna de data e uma coluna de hora:
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
Digamos que queremos criar uma nova coluna chamada datetime que combine os valores das colunas de data e hora .
Podemos usar a seguinte sintaxe para fazer isso:
#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
Observe que a nova coluna datetime combinou com sucesso os valores das colunas de data e hora em uma única coluna.
Também podemos usar a função dtypes para verificar os tipos de dados de cada coluna no DataFrame:
#view data type of each column
df. dtypes
date object
time object
datetime datetime64[ns]
dtype:object
A partir do resultado, podemos ver que as colunas de data e hora são objetos (ou seja, strings) e a nova coluna de data e hora é uma data e hora.
Nota : Você pode encontrar a documentação completa da função to_datetime() do pandas aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:
Como criar um intervalo de datas no Pandas
Como converter carimbo de data/hora em data/hora no Pandas
Como calcular a diferença entre duas datas em pandas