Pandas : Comment spécifier les types lors de l’importation d’un fichier CSV



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 CSV dans pandas :

df = pd.read_csv('my_data.csv',
                 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 CSV 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 CSV dans Pandas

Supposons que nous ayons le fichier CSV suivant appelé basketball_data.csv :

Si nous importons le fichier CSV à l’aide de la fonction read_csv() , les pandas tenteront d’identifier automatiquement le type de données pour chaque colonne :

import pandas as pd

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

#view resulting DataFrame
print(df)

   A  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
points       int64
rebounds     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

Cependant, nous pouvons utiliser l’argument dtype dans la fonction read_csv() pour spécifier les types de données que chaque colonne doit avoir :

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)

   A  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
points      float64
rebounds      int32
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

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_csv() ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Pandas : Comment ignorer des lignes lors de la lecture d’un fichier CSV
Pandas : Comment ajouter des données à un fichier CSV existant
Pandas : Comment lire un fichier CSV sans en-têtes
Pandas : Comment définir les noms de colonnes lors de l’importation d’un fichier CSV

Ajouter un commentaire

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