Pandas : Comment supprimer des caractères spécifiques des chaînes
Vous pouvez utiliser les méthodes suivantes pour supprimer des caractères spécifiques des chaînes d’une colonne dans un DataFrame pandas :
Méthode 1 : supprimer des caractères spécifiques des chaînes
df['my_column'] = df['my_column'].str.replace('this_string', '')
Méthode 2 : supprimer toutes les lettres des chaînes
df['my_column'] = df['my_column'].str.replace('\D', '', regex=True)
Méthode 3 : supprimer tous les nombres des chaînes
df['my_column'] = df['my_column'].str.replace('\d+', '', regex=True)
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' : ['Mavs2', 'Nets44', 'Kings33', 'Cavs90', 'Heat576'], 'points' : [12, 15, 22, 29, 24]}) #view DataFrame print(df) team points 0 Mavs2 12 1 Nets44 15 2 Kings33 22 3 Cavs90 29 4 Heat576 24
Exemple 1 : supprimer des caractères spécifiques des chaînes
Nous pouvons utiliser la syntaxe suivante pour supprimer « avs » de chaque chaîne de la colonne team :
#remove 'avs' from strings in team column df['team'] = df['team'].str.replace('avs', '') #view updated DataFrame print(df) team points 0 M2 12 1 Nets44 15 2 Kings33 22 3 C90 29 4 Heat576 24
Notez que « avs » a été supprimé des lignes contenant « Mavs » et « Cavs » dans la colonne d’équipe .
Exemple 2 : supprimer toutes les lettres des chaînes
Nous pouvons utiliser la syntaxe suivante pour supprimer toutes les lettres de chaque chaîne de la colonne équipe :
#remove letters from strings in team column df['team'] = df['team'].str.replace('\D', '', regex=True) #view updated DataFrame print(df) team points 0 2 12 1 44 15 2 33 22 3 90 29 4 576 24
Notez que toutes les lettres ont été supprimées de chaque chaîne de la colonne équipe .
Seules les valeurs numériques restent.
Exemple 3 : Supprimer tous les nombres des chaînes
Nous pouvons utiliser la syntaxe suivante pour supprimer tous les nombres de chaque chaîne de la colonne équipe :
#remove numbers from strings in team column df['team'] = df['team'].str.replace('\d+', '', regex=True) #view updated DataFrame print(df) team points 0 Mavs 12 1 Nets 15 2 Kings 22 3 Cavs 29 4 Heat 24
Notez que tous les numéros ont été supprimés de chaque chaîne de la colonne équipe .
Il ne reste que les lettres.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Comment remplacer les valeurs NaN par des zéros dans Pandas
Comment remplacer les chaînes vides par NaN dans Pandas
Comment remplacer les valeurs dans la colonne en fonction de la condition dans Pandas