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

Ajouter un commentaire

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