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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *