Pandas : comment sélectionner des colonnes en fonction d’une correspondance partielle
Vous pouvez utiliser les méthodes suivantes pour sélectionner des colonnes dans un DataFrame pandas en fonction d’une correspondance partielle :
Méthode 1 : sélectionner des colonnes en fonction d’une correspondance partielle
#select columns that contain 'team'
df.loc[:, df.columns.str.contains('team')]
Méthode 2 : sélectionner des colonnes en fonction de plusieurs correspondances partielles
#select columns that contain 'team' or 'rebounds'
df.loc[:, df.columns.str.contains('team|rebounds')]
Les exemples suivants montrent comment utiliser chaque méthode avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'team_name': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], 'team_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_name 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 des colonnes en fonction d’une correspondance partielle
Le code suivant montre comment sélectionner toutes les colonnes du DataFrame pandas qui contiennent « équipe » dans le nom de la colonne :
#select columns that contain 'team'
df_team_cols = df.loc[:, df.columns.str.contains('team')]
#view results
print(df_team_cols)
team_name team_points
0 A 5
1 A 7
2 A 7
3 A 9
4 B 12
5 B 9
6 B 9
7 B 4
Notez que les deux colonnes contenant « équipe » dans le nom sont renvoyées.
Exemple 2 : sélectionner des colonnes en fonction de plusieurs correspondances partielles
Le code suivant montre comment sélectionner toutes les colonnes du DataFrame pandas qui contiennent « équipe » ou « rebonds » dans le nom de la colonne :
#select columns that contain 'team' or 'rebounds'
df_team_rebs = df.loc[:, df.columns.str.contains('team|rebounds')]
#view results
print(df_team_rebs)
team_name team_points rebounds
0 A 5 6
1 A 7 7
2 A 7 7
3 A 9 6
4 B 12 10
5 B 9 12
6 B 9 10
7 B 4 9
Toutes les colonnes dont le nom contient « équipe » ou « rebonds » sont renvoyées.
Remarque : Le | l’opérateur représente « OU » dans les pandas.
N’hésitez pas à utiliser autant de ces opérateurs que vous le souhaitez pour rechercher autant de correspondances de chaînes partielles que vous le souhaitez.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations 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 par type de données dans Pandas