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