Maison  >  Article  >  développement back-end  >  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
Linda Hamiltonoriginal
2024-11-07 05:34:03429parcourir

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

L'objectif est de transformer ce DataFrame en :

A B
1 20
2 40
3 10

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

df.sort_values(by='B', ascending=False).drop_duplicates(subset='A')

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()])

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!

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