Maison  >  Article  >  développement back-end  >  Comment puis-je modifier des valeurs spécifiques dans un Pandas DataFrame en fonction de valeurs conditionnelles à l'aide de l'affectation de chaînage et de la fonction loc ?

Comment puis-je modifier des valeurs spécifiques dans un Pandas DataFrame en fonction de valeurs conditionnelles à l'aide de l'affectation de chaînage et de la fonction loc ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-26 03:31:02918parcourir

How can I modify specific values in a Pandas DataFrame based on conditional values using chaining assignment and the loc function?

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!

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