Comment sélectionner uniquement les colonnes numériques dans Pandas



Vous pouvez utiliser la syntaxe de base suivante pour sélectionner uniquement les colonnes numériques dans un DataFrame pandas :

import pandas as pd
import numpy as np

df.select_dtypes(include=np.number)

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : sélectionner uniquement les colonnes numériques dans Pandas

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [18, 22, 19, 14, 14, 11, 20, 28],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

  team  points  assists  rebounds
0    A      18        5        11
1    B      22        7         8
2    C      19        7        10
3    D      14        9         6
4    E      14       12         6
5    F      11        9         5
6    G      20        9         9
7    H      28        4        12

Nous pouvons utiliser la syntaxe suivante pour sélectionner uniquement les colonnes numériques du DataFrame :

import numpy as np

#select only the numeric columns in the DataFrame
df.select_dtypes(include=np.number)

        points	assists	rebounds
0	18	5	11
1	22	7	8
2	19	7	10
3	14	9	6
4	14	12	6
5	11	9	5
6	20	9	9
7	28	4	12

Notez que seules les trois colonnes numériques ont été sélectionnées – points , passes décisives et rebonds .

Nous pouvons vérifier que ces colonnes sont numériques en utilisant la fonction dtypes() pour afficher le type de données de chaque variable dans le DataFrame :

#display data type of each variable in DataFrame
df.dtypes

team        object
points       int64
assists      int64
rebounds     int64
dtype: object

À partir du résultat, nous pouvons voir que l’équipe est un objet (c’est-à-dire une chaîne) tandis que les points , les passes décisives et les rebonds sont tous numériques.

Notez que nous pouvons également utiliser le code suivant pour obtenir une liste des colonnes numériques du DataFrame :

#display list of numeric variables in DataFrame
df.select_dtypes(include=np.number).columns.tolist()

['points', 'assists', 'rebounds']

Cela nous permet de voir rapidement les noms des variables numériques dans le DataFrame sans voir leurs valeurs réelles.

Ressources additionnelles

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

Comment sélectionner des colonnes par nom dans Pandas
Comment sélectionner des colonnes par index dans Pandas
Comment sélectionner des colonnes contenant une chaîne spécifique dans Pandas

Ajouter un commentaire

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