Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-11-01 06:04:31
original
398 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

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