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 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!