Maison  >  Article  >  développement back-end  >  Comment remplacer les valeurs dans les colonnes Pandas DataFrame en fonction des valeurs correspondantes dans une autre colonne ?

Comment remplacer les valeurs dans les colonnes Pandas DataFrame en fonction des valeurs correspondantes dans une autre colonne ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-01 06:04:31282parcourir

How to Replace Values in Pandas DataFrame Columns Based on Matching Values in Another Column?

Modification des données dans Pandas en fonction des valeurs correspondantes

Lors de la transition de Stata vers Pandas pour la manipulation de données, comprendre l'approche pour modifier les valeurs en fonction de des conditions d’adéquation sont essentielles. Considérons la situation où nous souhaitons remplacer des valeurs spécifiques dans les colonnes « FirstName » et « LastName » lorsque les valeurs correspondantes dans la colonne « ID » correspondent à un certain nombre.

Dans Stata, cette tâche est simple en utilisant des commandes comme "remplacer FirstName = 'Matt' si ID==103." Pour obtenir un résultat similaire dans Pandas, nous pouvons utiliser les méthodes d'affectation loc ou chaînée.

Méthode loc :

La méthode loc utilise l'indexation logique pour évaluer et modifier les données. en fonction de conditions spécifiques :

<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>

Affectation en chaîne :

L'affectation en chaîne, bien que déconseillée dans les versions plus récentes de Pandas, peut également être utilisée pour cette tâche :

<code class="python">import pandas as pd
df = pd.read_csv("test.csv")
df['FirstName'][df.ID == 103] = "Matt"
df['LastName'][df.ID == 103] = "Jones"</code>

Dans les deux méthodes, l'expression "df.ID == 103" crée un masque booléen, où True indique les lignes où ID est égal à 103. Les affectations suivantes modifient ensuite les valeurs соответствующий dans "FirstName" et "LastName". " colonnes.

Remarque : Pour les anciennes versions de Pandas, l'affectation chaînée est une approche acceptable. Cependant, loc est la méthode préférée dans les versions plus modernes car elle offre une plus grande stabilité.

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