Pandas : comment sélectionner des colonnes par type de données
Vous pouvez utiliser les méthodes suivantes pour sélectionner des colonnes dans un DataFrame pandas qui sont égales à un type de données spécifique :
Méthode 1 : sélectionner des colonnes égales à un type de données spécifique
#select all columns that have an int or float data type
df.select_dtypes(include=['int', 'float'])
Méthode 2 : sélectionner des colonnes différentes d’un type de données spécifique
#select all columns that don't have a bool or object data type
df.select_dtypes(exclude=['bool', 'object'])
Les exemples suivants montrent comment utiliser chaque méthode avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F'], 'points': [18, 22, 19, 14, 14, 11], 'assists': [5, 7, 7, 9, 12, 9], 'minutes': [10.1, 12.0, 9.0, 8.0, 8.4, 7.5], 'all_star': [True, False, False, True, True, True]}) #view DataFrame print(df) team points assists minutes all_star 0 A 18 5 10.1 True 1 B 22 7 12.0 False 2 C 19 7 9.0 False 3 D 14 9 8.0 True 4 E 14 12 8.4 True 5 F 11 9 7.5 True
Exemple 1 : sélectionner des colonnes égales à un type de données spécifique
Nous pouvons utiliser le code suivant pour sélectionner toutes les colonnes du DataFrame qui ont un type de données égal à int ou float :
#select all columns that have an int or float data type
df.select_dtypes(include=['int', 'float'])
points assists minutes
0 18 5 10.1
1 22 7 12.0
2 19 7 9.0
3 14 9 8.0
4 14 12 8.4
5 11 9 7.5
Notez que seules les colonnes avec un type de données égal à int ou float sont sélectionnées.
Exemple 2 : sélectionner des colonnes différentes d’un type de données spécifique
Nous pouvons utiliser le code suivant pour sélectionner toutes les colonnes du DataFrame qui n’ont pas de type de données égal à bool ou object :
#select all columns that don't have a bool or object data type
df.select_dtypes(exclude=['bool', 'object'])
points assists minutes
0 18 5 10.1
1 22 7 12.0
2 19 7 9.0
3 14 9 8.0
4 14 12 8.4
5 11 9 7.5
Notez que seules les colonnes qui n’ont pas de type de données égal à bool ou object sont sélectionnées.
Notez également que vous pouvez utiliser la syntaxe suivante pour afficher le type de données de chaque colonne du DataFrame :
#display data type of all columns
df.dtypes
team object
points int64
assists int64
minutes float64
all_star bool
dtype: object
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Pandas : Comment vérifier le type de toutes les colonnes dans DataFrame
Pandas : obtenir l’index des lignes dont la colonne correspond à la valeur
Pandas : Comment définir une colonne comme index