Panda: come specificare i tipi durante l'importazione di un file csv
È possibile utilizzare la seguente sintassi di base per specificare il tipo di ciascuna colonna in un DataFrame quando si importa un file CSV in panda:
df = pd. read_csv (' my_data.csv ', dtype = {' col1 ': str , ' col2 ': float , ' col3 ': int })
L’argomento dtype specifica il tipo di dati che ogni colonna dovrebbe avere quando si importa il file CSV in un DataFrame Pandas.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: specificare i tipi quando si importa un file CSV in Pandas
Supponiamo di avere il seguente file CSV chiamato basket_data.csv :
Se importiamo il file CSV utilizzando la funzione read_csv() , i panda tenteranno di identificare automaticamente il tipo di dati per ciascuna colonna:
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
Dal risultato, possiamo vedere che le colonne del DataFrame hanno i seguenti tipi di dati:
- squadra : oggetto
- punti : int64
- rimbalza : int64
Tuttavia, possiamo utilizzare l’argomento dtype nella funzione read_csv() per specificare i tipi di dati che ciascuna colonna dovrebbe avere:
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
Dal risultato, possiamo vedere che le colonne del DataFrame hanno i seguenti tipi di dati:
- squadra : oggetto
- punti : float64
- rimbalza : int32
Questi tipi di dati corrispondono a quelli che abbiamo specificato utilizzando l’argomento dtype .
Tieni presente che in questo esempio abbiamo specificato il tipo per ciascuna colonna nel DataFrame.
Tuttavia, puoi scegliere di specificare il tipo solo per colonne specifiche e consentire ai panda di dedurre il tipo per le colonne rimanenti.
Nota : puoi trovare la documentazione completa della funzione panda read_csv() qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:
Panda: come saltare le righe durante la lettura di un file CSV
Panda: come aggiungere dati a un file CSV esistente
Panda: come leggere un file CSV senza intestazioni
Panda: come impostare i nomi delle colonne durante l’importazione di un file CSV