Pandas: como converter um índice em data/hora
Você pode usar a seguinte sintaxe para converter uma coluna de índice de um DataFrame do pandas em um formato de data e hora:
df. index = pd. to_datetime ( df.index )
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: Converter coluna de índice em data e hora no Pandas
Suponha que temos o seguinte DataFrame do pandas que contém informações sobre vendas de produtos em uma loja:
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
Agora suponha que tentamos criar uma nova coluna contendo a hora na coluna do índice:
#attempt to create new column that contains hour of index column
df[' hour '] = df. index . hour
AttributeError: 'Index' object has no attribute 'hour'
Estamos recebendo um erro porque a coluna do índice não está atualmente no formato de data e hora e, portanto, não contém um atributo ‘time’.
Para evitar esse erro, podemos usar a função pandas to_datetime() para converter a coluna do índice para o formato 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
Usando a função to_datetime() podemos converter a coluna do índice para o formato datetime.
Assim, podemos criar com sucesso uma nova coluna chamada time que contém a hora na coluna do índice sem receber nenhum erro.
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