Pandas: como especificar tipos ao importar um arquivo excel


Você pode usar a seguinte sintaxe básica para especificar o tipo de cada coluna em um DataFrame ao importar um arquivo Excel para o pandas:

 df = pd. read_excel (' my_data.xlsx ',
                 dtype = {' col1 ': str , ' col2 ': float , ' col3 ': int })

O argumento dtype especifica o tipo de dados que cada coluna deve ter ao importar o arquivo Excel para um DataFrame do pandas.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: especifique tipos ao importar um arquivo Excel para o Pandas

Digamos que temos o seguinte arquivo Excel chamado player_data.xlsx :

Se importarmos o arquivo Excel usando a função read_excel() , o pandas tentará identificar automaticamente o tipo de dados para cada coluna:

 import pandas as pd

#import Excel file
df = pd. read_excel (' player_data.xlsx ')

#view resulting DataFrame
print (df)

  team points rebound assists
0 to 24 8 5
1 B 20 12 3
2 C 15 4 7
3 D 19 4 8
4 E 32 6 8
5 F 13 7 9

#view data type of each column
print ( df.dtypes )

team object
int64 dots
rebounds int64
assists int64
dtype:object

Pelo resultado, podemos ver que as colunas do DataFrame possuem os seguintes tipos de dados:

  • equipe : objeto
  • pontos : int64
  • rejeições : int64
  • assistências : int64

No entanto, podemos usar o argumento dtype na função read_excel() para especificar os tipos de dados que cada coluna deve ter:

import pandas as pd

#import Excel file and specify dtypes of columns
df = pd. read_excel (' player_data.xlsx ',
                   dtype = {' team ': str , ' points ': float , ' rebounds ': int ,
                            ' assists ': float })

#view resulting DataFrame
print (df)

  team points rebound assists
0 A 24.0 8 5.0
1 B 20.0 12 3.0
2 C 15.0 4 7.0
3 D 19.0 4 8.0
4 E 32.0 6 8.0
5 F 13.0 7 9.0

#view data type of each column
print ( df.dtypes )

team object
float64 points
rebounds int32
assist float64
dtype:object

Pelo resultado, podemos ver que as colunas do DataFrame possuem os seguintes tipos de dados:

  • equipe : objeto
  • pontos : float64
  • rejeições : int32
  • assistências : float64

Esses tipos de dados correspondem àqueles que especificamos usando o argumento dtype .

Observe que neste exemplo especificamos o tipo de cada coluna no DataFrame.

No entanto, você pode optar por especificar o tipo apenas para colunas específicas e deixar o pandas inferir o tipo das colunas restantes.

Nota : Você pode encontrar a documentação completa da função read_excel() do pandas aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Pandas: como pular linhas ao ler um arquivo Excel
Pandas: como combinar várias planilhas do Excel
Pandas: como escrever DataFrames em várias planilhas do Excel

Add a Comment

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