Affectation de chaînage et fonction Loc de Pandas pour modifier les données en fonction de valeurs conditionnelles
Dans la bibliothèque Pandas de Python, la manipulation des données peut présenter des défis pour ceux habitués à d’autres outils de programmation. Cet article répond à une requête spécifique concernant l'itération sur les données Pandas pour modifier des valeurs spécifiques en fonction de conditions.
Problème :
La tâche à accomplir consiste à modifier deux valeurs, FirstName et LastName, dans un DataFrame basé sur les valeurs correspondantes dans la colonne ID. Plus précisément, lorsque l'ID est égal à 103, FirstName et LastName doivent être remplacés respectivement par « Matt » et « Jones ».
Solution : méthodes alternatives
Approche 1 : Utilisation du découpage et de l'indexation avec Loc
Pour modifier des données en fonction de valeurs conditionnelles dans Pandas, une approche efficace consiste à utiliser la fonction loc. Cette fonction permet une évaluation logique et écrase les données en fonction de conditions spécifiées.
<code class="python">import pandas df = pandas.read_csv("test.csv") df.loc[df.ID == 103, 'FirstName'] = "Matt" df.loc[df.ID == 103, 'LastName'] = "Jones"</code>
Approche 2 : affectation en chaîne
Une méthode alternative est l'affectation en chaîne, qui implique l'attribution valeurs à des éléments spécifiques dans un DataFrame en fonction de la condition. Bien que cette méthode soit déconseillée pour sa potentielle instabilité, elle reste utile pour la compréhension :
<code class="python">import pandas df = pandas.read_csv("test.csv") df['FirstName'][df.ID == 103] = "Matt" df['LastName'][df.ID == 103] = "Jones"</code>
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!