Pandas: como especificar tipos ao importar um arquivo csv


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

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

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

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

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

Digamos que temos o seguinte arquivo CSV chamado basket_data.csv :

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

 import pandas as pd

#import CSV file
df = pd. read_csv (' basketball_data.csv ')

#view resulting DataFrame
print (df)

   At 22 10
0 B 14 9
1 C 29 6
2 D 30 2
3 E 22 9
4 F 31 10

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

team object
int64 dots
rebounds 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

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

import pandas as pd

#import CSV file and specify dtype of each column
df = pd. read_csv (' basketball_data.csv ',
                 dtype = {' team ': str , ' points ': float , ' rebounds ': int }))

#view resulting DataFrame
print (df)

   At 22 10
0 B 14 9
1 C 29 6
2 D 30 2
3 E 22 9
4 F 31 10

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

team object
float64 points
rebounds int32
dtype:object

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

  • equipe : objeto
  • pontos : float64
  • rejeições : int32

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_csv() 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 CSV
Pandas: como adicionar dados a um arquivo CSV existente
Pandas: como ler um arquivo CSV sem cabeçalhos
Pandas: Como definir nomes de colunas ao importar um arquivo CSV

Add a Comment

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