Maison > Article > développement back-end > Comment remplacer les valeurs dans les colonnes Pandas DataFrame en fonction des valeurs correspondantes dans une autre colonne ?
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!