Pandas : Comment supprimer une colonne si elle existe
Vous pouvez utiliser la syntaxe de base suivante pour supprimer une ou plusieurs colonnes dans un DataFrame pandas si elles existent :
df = df.drop(['column1', 'column2'], axis=1, errors='ignore')
Remarque : Si vous n’utilisez pas l’argument error=’ignore’ , vous recevrez une erreur si vous tentez de supprimer une colonne qui n’existe pas.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : supprimer la colonne si elle existe 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'],
'points': [18, 22, 19, 14, 14, 11],
'assists': [5, 7, 7, 9, 12, 9],
'minutes': [10.1, 12.0, 9.0, 8.0, 8.4, 7.5],
'all_star': [True, False, False, True, True, True]})
#view DataFrame
print(df)
team points assists minutes all_star
0 A 18 5 10.1 True
1 B 22 7 12.0 False
2 C 19 7 9.0 False
3 D 14 9 8.0 True
4 E 14 12 8.4 True
5 F 11 9 7.5 True
Supposons maintenant que nous essayions de supprimer les colonnes portant les noms minutes_played et points :
#drop minutes_played and points columns df = df.drop(['minutes_played', 'points'], axis=1) KeyError: "['minutes_played', 'points'] not found in axis"
Nous recevons une erreur car la colonne minutes_played n’existe pas en tant que nom de colonne dans le DataFrame.
Au lieu de cela, nous devons utiliser la fonction drop() avec l’argument erreurs=’ignore’ :
#drop minutes_played and points columns df = df.drop(['minutes_played', 'points'], axis=1, errors='ignore') #view updated DataFrame print(df) team assists minutes all_star 0 A 5 10.1 True 1 B 7 12.0 False 2 C 7 9.0 False 3 D 9 8.0 True 4 E 12 8.4 True 5 F 9 7.5 True
Notez que la colonne de points a été supprimée du DataFrame.
Notez également que nous ne recevons aucune erreur même si nous avons tenté de supprimer une colonne appelée minutes_played , qui n’existe pas.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Pandas : Comment supprimer des colonnes sans nom
Pandas : comment supprimer toutes les colonnes sauf certaines spécifiques
Pandas : comment supprimer toutes les lignes sauf certaines