Pandas : Comment utiliser loc pour sélectionner plusieurs colonnes



Vous pouvez utiliser la fonction loc dans pandas pour sélectionner plusieurs colonnes dans un DataFrame par étiquette.

Voici les façons les plus courantes de procéder :

Méthode 1 : sélectionner plusieurs colonnes par nom

df.loc[:, ['col2', 'col4']]

Méthode 2 : sélectionner toutes les colonnes de la plage

df.loc[:, 'col2':'col4']

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   'points': [5, 7, 7, 9, 12, 9, 9, 4],
                   'assists': [11, 8, 10, 6, 6, 5, 9, 12],
                   'rebounds': [6, 7, 7, 6, 10, 12, 10, 9]})

#view DataFrame
print(df)

  team  points  assists  rebounds
0    A       5       11         6
1    A       7        8         7
2    A       7       10         7
3    A       9        6         6
4    B      12        6        10
5    B       9        5        12
6    B       9        9        10
7    B       4       12         9

Exemple 1 : sélectionner plusieurs colonnes par nom

Le code suivant montre comment utiliser la fonction loc pour sélectionner les colonnes « points » et « rebonds » du DataFrame :

#select points and rebounds columns
df.loc[:, ['points', 'rebounds']]

        points	rebounds
0	5	6
1	7	7
2	7	7
3	9	6
4	12	10
5	9	12
6	9	10
7	4	9

Notez que chaque ligne des colonnes « points » et « rebonds » est renvoyée.

Notez également que l’ordre dans lequel vous spécifiez les colonnes dans la fonction loc est l’ordre dans lequel elles seront renvoyées.

Par exemple, nous pourrions renvoyer la colonne « rebonds » en premier, puis la colonne « points » :

#select rebounds and points columns
df.loc[:, ['rebounds', 'points']]

	rebounds points
0	6	 5
1	7	 7
2	7	 7
3	6	 9
4	10	 12
5	12	 9
6	10	 9
7	9	 4

Exemple 2 : sélectionner toutes les colonnes de la plage

Le code suivant montre comment utiliser la fonction loc pour sélectionner toutes les colonnes entre les colonnes « points » et « rebonds » dans le DataFrame :

#select all columns between points and rebounds columns
df.loc[:, 'points':'rebounds']

	points	assists	rebounds
0	5	11	6
1	7	8	7
2	7	10	7
3	9	6	6
4	12	6	10
5	9	5	12
6	9	9	10
7	4	12	9

Notez que toutes les colonnes entre les colonnes « points » et « rebonds » dans le DataFrame sont renvoyées.

Remarque : Pour sélectionner des colonnes par position d’index, utilisez plutôt la fonction iloc .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment sélectionner des lignes selon plusieurs conditions à l’aide de Pandas Loc
Comment sélectionner des lignes en fonction des valeurs de colonne dans Pandas
Comment sélectionner des lignes par index dans Pandas

Ajouter un commentaire

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