So eliminieren Sie Duplikate nach Spalten und behalten Zeilen mit den höchsten Werten bei
Wenn Sie mit doppelten Werten in einer Spalte eines DataFrames konfrontiert werden, ist dies der Fall Es wird notwendig, Strategien zu ihrer Beseitigung umzusetzen. Ein Ansatz besteht darin, nur die Zeilen mit den höchsten Werten in einer anderen Spalte beizubehalten.
Betrachten Sie diesen Beispiel-DataFrame:
A B 1 10 1 20 2 30 2 40 3 10
Das Ziel besteht darin, diesen DataFrame umzuwandeln in:
A B 1 20 2 40 3 10
Eine Methode besteht darin, den DataFrame zu sortieren, bevor Duplikate entfernt werden:
df.sort_values(by='B', ascending=False).drop_duplicates(subset='A')
Für komplexere Szenarien mit mehreren Spalten und differenzierteren Sortieranforderungen kann jedoch Groupby verwendet werden. Der folgende Code veranschaulicht diesen Ansatz:
df.groupby('A', group_keys=False).apply(lambda x: x.loc[x.B.idxmax()])
Diese Lösung gruppiert die Zeilen nach Spalte „A“ und ergibt die Zeile mit dem Maximalwert in Spalte „B“ für jede Gruppe.
Das obige ist der detaillierte Inhalt vonWie eliminiere ich doppelte Zeilen in einem DataFrame und behalte nur die Zeilen mit den höchsten Werten in einer bestimmten Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!