Comment vérifier si une colonne existe dans Pandas (avec exemples)
Vous pouvez utiliser les méthodes suivantes pour vérifier si une colonne existe dans un DataFrame pandas :
Méthode 1 : vérifier si une colonne existe
'column1' in df.columns
Cela renverra True si « colonne1 » existe dans le DataFrame, sinon il renverra False .
Méthode 2 : vérifier s’il existe plusieurs colonnes
{'column1', 'column2'}.issubset(df.columns)
Cela renverra True si « colonne1 » et « colonne2 » existent dans le DataFrame, sinon il renverra False .
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', '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
Exemple 1 : vérifier s’il existe une colonne
Nous pouvons utiliser le code suivant pour voir si la colonne ‘team’ existe dans le DataFrame :
#check if 'team' column exists in DataFrame
'team' in df.columns
True
La colonne « équipe » existe dans le DataFrame, donc pandas renvoie une valeur True .
Nous pouvons également utiliser une instruction if pour effectuer une opération si la colonne « équipe » existe :
#if 'team' exists, create new column called 'team_name'
if 'team' in df.columns:
df['team_name'] = df['team']
#view updated DataFrame
print(df)
team points assists rebounds team_name
0 A 18 5 11 A
1 B 22 7 8 B
2 C 19 7 10 C
3 D 14 9 6 D
4 E 14 12 6 E
5 F 11 9 5 F
6 G 20 9 9 G
7 H 28 4 12 H
Exemple 2 : vérifier s’il existe plusieurs colonnes
Nous pouvons utiliser le code suivant pour voir si les colonnes ‘team’ et ‘player’ existent dans le DataFrame :
#check if 'team' and 'player' columns both exist in DataFrame
{'team', 'player'}.issubset(df.columns)
False
La colonne ‘team’ existe dans le DataFrame mais pas ‘player’, donc pandas renvoie une valeur False .
Nous pourrions également utiliser le code suivant pour voir si les « points » et les « assistances » existent dans le DataFrame :
#check if 'points' and 'assists' columns both exist in DataFrame
{'points', 'assists'}.issubset(df.columns)
True
Les deux colonnes existent, donc pandas renvoie une valeur True .
Nous pouvons ensuite utiliser une instruction if pour effectuer une opération si les « points » et les « assistances » existent :
#if both exist, create new column called 'total' that finds sum of points and assists
if {'points', 'assists'}.issubset(df.columns):
df['total'] = df['points'] + df['assists']
#view updated DataFrame
print(df)
team points assists rebounds total
0 A 18 5 11 23
1 B 22 7 8 29
2 C 19 7 10 26
3 D 14 9 6 23
4 E 14 12 6 26
5 F 11 9 5 20
6 G 20 9 9 29
7 H 28 4 12 32
Étant donné que les « points » et les « passes décisives » existent tous deux dans le DataFrame, les pandas ont créé une nouvelle colonne appelée « total » qui montre la somme des colonnes « points » et « passes décisives ».
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment conserver certaines colonnes dans Pandas
Comment sélectionner des colonnes par index dans Pandas
Comment déplacer une colonne dans Pandas