Maison > développement back-end > Tutoriel Python > Comment remplacer une virgule dans une colonne de chaîne d'un DataFrame Pandas ?

Comment remplacer une virgule dans une colonne de chaîne d'un DataFrame Pandas ?

Mary-Kate Olsen
Libérer: 2024-10-30 16:37:26
original
525 Les gens l'ont consulté

How to Replace a Comma in a String Column of a Pandas DataFrame?

Comment remplacer du texte dans une colonne de chaîne d'une trame de données Pandas

Dans Pandas, vous pouvez rencontrer des situations où vous devez modifier le contenu d'une colonne de texte, comme le remplacement d'un certain caractère ou d'une certaine chaîne. Ceci peut être réalisé en utilisant la puissante méthode de remplacement.

Vous avez mentionné avoir une colonne contenant des valeurs entre parenthèses, avec une virgule séparant deux nombres. Votre objectif est de remplacer la virgule par un tiret. Cependant, votre approche actuelle utilisant org_info_exc['range'].replace(',', '-', inplace=True) ne fonctionne pas.

Le problème réside dans la syntaxe de votre code. La méthode replace nécessite que vous spécifiiez la chaîne exacte ou l’expression régulière à remplacer. Dans votre cas, la virgule ne correspond pas exactement à la valeur entière.

Pour remplacer correctement la virgule, vous devez utiliser la méthode suivante :

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

Ici, nous utilisons le méthode str vectorisée, qui nous permet d'appliquer une transformation de chaîne à chaque élément de la colonne. La fonction de remplacement prend deux paramètres : la chaîne d'origine à remplacer et la nouvelle chaîne par laquelle la remplacer.

Ce code utilise l'expression régulière ',' pour faire correspondre le caractère virgule, quelle que soit sa position dans la chaîne. .

EDIT :

Analyse de votre tentative originale :

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

La description de cette approche dans la documentation Pandas indique : "str : string correspondant exactement à to_replace sera remplacé par value." Étant donné que les chaînes de votre colonne ne correspondent pas exactement au caractère virgule, le remplacement n'a pas lieu.

À l'inverse, si nous fournissons une correspondance exacte pour le caractère virgule, comme indiqué ci-dessous, le remplacement aura lieu :

<code class="python">df = pd.DataFrame({'range':['(2,30)',',']})
df['range'].replace(',','-', inplace=True)

df['range']

0    (2,30)
1         -
Name: range, dtype: object</code>
Copier après la connexion

Dans cet exemple modifié, la deuxième ligne contient une correspondance exacte pour la virgule et le remplacement a lieu.

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