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
Libérer: 2024-10-26 03:31:02
original
929 Les gens l'ont consulté

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

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

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!