Comment remplacer des caractères dans une colonne de chaîne d'une trame de données Pandas sans correspondances exactes ?

Susan Sarandon
Libérer: 2024-10-28 14:30:02
original
406 Les gens l'ont consulté

How to Replace Characters in a String Column of a Pandas Dataframe without Exact Matches?

Réplication de texte dans une colonne de chaîne d'une trame de données Pandas

Dans les tâches de manipulation de données, le remplacement de caractères spécifiques dans une colonne de chaîne est souvent nécessaire. Considérons un dataframe avec une colonne contenant des valeurs de chaîne telles que "(2,30)", où nous souhaitons remplacer la virgule (",") par un tiret ("-").

Pour résoudre ce problème, vous peut avoir tenté d'utiliser la méthode de remplacement de Pandas avec inplace=True pour modifier directement la colonne. Cependant, si cette approche n'a pas fonctionné, cela vaut la peine d'évaluer votre code et de comprendre les limites du remplacement.

La documentation Pandas précise que le remplacement nécessite une correspondance exacte de la chaîne spécifiée pour effectuer la substitution. Dans votre cas, les valeurs de la colonne ne correspondent pas exactement à la chaîne que vous essayez de remplacer.

Au lieu de cela, nous pouvons exploiter la méthode str vectorisée pour exécuter cette transformation efficacement :

<code class="python">df['range'] = df['range'].str.replace(',','-')</code>
Copier après la connexion

Cette approche utilise la méthode str pour traiter chaque chaîne de la colonne comme un objet chaîne, nous permettant d'effectuer diverses opérations de manipulation de chaînes. En chaînant la méthode replace, on peut spécifier le remplacement de la virgule par un tiret.

Pour illustrer, considérons un exemple :

<code class="python">df = pd.DataFrame({'range':['(2,30)', '(50,290)', '(400,1000)']})

df['range'] = df['range'].str.replace(',','-')

print(df)</code>
Copier après la connexion

Sortie :

      range
0    (2-30)
1  (50-290)
2 (400-1000)
Copier après la connexion

Comme vous pouvez le constater, les virgules dans la colonne d'origine ont été remplacées avec succès par des tirets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!