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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *