Heim >Backend-Entwicklung >Python-Tutorial >Wie behalte ich andere Spalten bei, während ich Mindestwerte in gruppierten Pandas-DataFrames finde?
Andere Spalten während des gruppierten Mindestvorgangs in Pandas DataFrame beibehalten
Bei Verwendung der Groupby-Funktion zum Gruppieren von Daten nach einer bestimmten Spalte und Durchführen von Aggregationsvorgängen Wie beim Finden des Minimums können andere Spalten im DataFrame versehentlich gelöscht werden.
Um zusätzliche Spalten beizubehalten, während eine Minimaloperation für eine gruppierte Spalte ausgeführt wird, ziehen Sie die folgenden Methoden in Betracht:
Methode 1 : Mit idxmin()
idxmin() werden die Indizes der Mindestwerte innerhalb jeder Gruppe zurückgegeben. Auf diese Weise können Sie nur die gewünschten Zeilen auswählen:
<code class="python">result = df.loc[df.groupby("item")["diff"].idxmin()]</code>
Methode 2: Sortieren und Abrufen des ersten Elements
Alternativ können Sie den Datenrahmen nach sortieren die minimale Spalte, bevor Sie die Groupby-Operation ausführen und die erste Zeile in jeder Gruppe extrahieren:
<code class="python">result = df.sort_values("diff").groupby("item", as_index=False).first()</code>
Beide Methoden erzeugen die gewünschte Ausgabe, wobei die otherstuff-Spalte beibehalten wird, während Zeilen basierend auf dem minimalen Diff-Wert gefiltert werden:
item diff otherstuff 0 1 1 2 1 2 -6 2 2 3 0 0
Beachten Sie, dass die resultierenden Indizes zwischen den beiden Methoden variieren können, obwohl der Zeileninhalt gleich bleibt.
Das obige ist der detaillierte Inhalt vonWie behalte ich andere Spalten bei, während ich Mindestwerte in gruppierten Pandas-DataFrames finde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!