Maison  >  Article  >  développement back-end  >  Pourquoi mon DataFrame Pandas ne remplace-t-il pas les valeurs par « replace() » ?

Pourquoi mon DataFrame Pandas ne remplace-t-il pas les valeurs par « replace() » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-27 02:17:30119parcourir

Why Isn't My Pandas DataFrame Replacing Values with `replace()`?

Pourquoi la méthode replace() ne remplace-t-elle pas les valeurs dans mon DataFrame Pandas ?

Malgré la tentative de remplacer des chaînes spécifiques par NaN de manière simple DataFrame, la méthode replace() semble inefficace. Par exemple :

<code class="python">d = {'color' : pd.Series(['white', 'blue', 'orange']),
   'second_color': pd.Series(['white', 'black', 'blue']),
   'value' : pd.Series([1., 2., 3.])}
df = pd.DataFrame(d)
df.replace('white', np.nan)</code>

Le résultat attendu, avec les valeurs « blanches » remplacées par NaN, n'est pas atteint. Au lieu de cela, le DataFrame reste inchangé.

Une solution : activez les remplacements partiels avec regex=True

Par défaut, la méthode replace() effectue des remplacements de chaînes complètes. Pour activer les remplacements partiels, le paramètre regex doit être défini sur True. Ce petit ajustement nous permet de remplacer des chaînes spécifiques n'importe où dans le DataFrame :

<code class="python">df.replace('white', np.nan, regex=True)</code>

Avec cette modification, le DataFrame remplacera correctement toutes les instances de « blanc » par NaN.

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!

Déclaration:
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