Pandas : Comment spécifier les types lors de l’importation d’un fichier Excel
Vous pouvez utiliser la syntaxe de base suivante pour spécifier le type de chaque colonne dans un DataFrame lors de l’importation d’un fichier Excel dans pandas :
df = pd.read_excel('my_data.xlsx', dtype = {'col1': str, 'col2': float, 'col3': int})
L’argument dtype spécifie le type de données que chaque colonne doit avoir lors de l’importation du fichier Excel dans un DataFrame pandas.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : spécifiez les types lors de l’importation d’un fichier Excel dans Pandas
Supposons que nous ayons le fichier Excel suivant appelé player_data.xlsx :
Si nous importons le fichier Excel à l’aide de la fonction read_excel() , les pandas tenteront d’identifier automatiquement le type de données pour chaque colonne :
import pandas as pd #import Excel file df = pd.read_excel('player_data.xlsx') #view resulting DataFrame print(df) team points rebounds assists 0 A 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 points int64 rebounds int64 assists int64 dtype: object
À partir du résultat, nous pouvons voir que les colonnes du DataFrame ont les types de données suivants :
- équipe : objet
- points : int64
- rebonds : int64
- passes décisives : int64
Cependant, nous pouvons utiliser l’argument dtype dans la fonction read_excel() pour spécifier les types de données que chaque colonne doit avoir :
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 rebounds 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 points float64 rebounds int32 assists float64 dtype: object
À partir du résultat, nous pouvons voir que les colonnes du DataFrame ont les types de données suivants :
- équipe : objet
- points : float64
- rebonds : int32
- passes décisives : float64
Ces types de données correspondent à ceux que nous avons spécifiés à l’aide de l’argument dtype .
Notez que dans cet exemple, nous avons spécifié le type pour chaque colonne du DataFrame.
Cependant, vous pouvez choisir de spécifier le type pour des colonnes spécifiques uniquement et laisser les pandas déduire le type pour les colonnes restantes.
Remarque : Vous pouvez trouver la documentation complète de la fonction pandas read_excel() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Pandas : Comment sauter des lignes lors de la lecture d’un fichier Excel
Pandas : Comment combiner plusieurs feuilles Excel
Pandas : Comment écrire des DataFrames sur plusieurs feuilles Excel