Maison  >  Article  >  développement back-end  >  Comment puis-je modifier des valeurs spécifiques dans les colonnes Pandas DataFrame en fonction d'une condition ?

Comment puis-je modifier des valeurs spécifiques dans les colonnes Pandas DataFrame en fonction d'une condition ?

DDD
DDDoriginal
2024-10-26 03:34:27370parcourir

How Can I Modify Specific Values in Pandas DataFrame Columns Based on a Condition?

Modification des valeurs en fonction des conditions chez les pandas

Cette question présente une situation dans laquelle des valeurs spécifiques dans deux colonnes, Prénom et Nom, doivent être modifié en fonction de la condition de la colonne ID correspondant à une valeur particulière. Dans Stata, cela peut être réalisé à l'aide de simples commandes de remplacement.

Dans Pandas, une puissante bibliothèque Python pour la manipulation de données, une approche consiste à exploiter la fonction loc avec la fonction d'indexation. Cela permet une évaluation logique et une modification ultérieure des données. Par exemple :

<code class="python">import pandas as pd

df = pd.read_csv("test.csv")
df.loc[df.ID == 103, 'FirstName'] = "Matt"
df.loc[df.ID == 103, 'LastName'] = "Jones"</code>

Alternativement, l'affectation aux deux colonnes peut être effectuée en une seule étape :

<code class="python">df.loc[df.ID == 103, ['FirstName', 'LastName']] = 'Matt', 'Jones'</code>

Notez que la version 0.11 ou supérieure de Pandas est requise pour les opérations d'affectation d'écrasement de localisation. Pour les anciennes versions, l'affectation en chaîne est une solution viable :

<code class="python">df['FirstName'][df.ID == 103] = "Matt"
df['LastName'][df.ID == 103] = "Jones"</code>

Bien que l'affectation en chaîne doive généralement être évitée dans les versions modernes de Pandas, cela reste une technique utile à connaître pour la compatibilité avec les anciennes versions.

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