Maison > développement back-end > Tutoriel Python > Comment éliminer les lignes en double dans un DataFrame, en conservant uniquement les lignes avec les valeurs les plus élevées dans une colonne spécifique ?

Comment éliminer les lignes en double dans un DataFrame, en conservant uniquement les lignes avec les valeurs les plus élevées dans une colonne spécifique ?

Linda Hamilton
Libérer: 2024-11-07 05:34:03
original
508 Les gens l'ont consulté

How to Eliminate Duplicate Rows in a DataFrame, Keeping Only the Rows with the Highest Values in a Specific Column?

Comment éliminer les doublons par colonnes, en conservant les lignes avec les valeurs les plus élevées

Lorsqu'il est confronté à des valeurs en double dans une colonne d'un DataFrame, il devient nécessaire de mettre en œuvre des stratégies pour les éliminer. Une approche consiste à conserver uniquement les lignes avec les valeurs les plus élevées dans une autre colonne.

Considérez cet exemple DataFrame :

A B
1 10
1 20
2 30
2 40
3 10
Copier après la connexion

L'objectif est de transformer ce DataFrame en :

A B
1 20
2 40
3 10
Copier après la connexion

Une méthode consiste à trier le DataFrame avant d'éliminer les doublons :

df.sort_values(by='B', ascending=False).drop_duplicates(subset='A')
Copier après la connexion

Cependant, pour des scénarios plus complexes impliquant plusieurs colonnes et des exigences de tri nuancées, groupby peut être utilisé. Le code ci-dessous illustre cette approche :

df.groupby('A', group_keys=False).apply(lambda x: x.loc[x.B.idxmax()])
Copier après la connexion

Cette solution regroupe les lignes par colonne « A » et donne la ligne avec la valeur maximale dans la colonne « B » pour chaque groupe.

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