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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *