Heim >Backend-Entwicklung >Python-Tutorial >Wie behalte ich andere Spalten bei, während ich Mindestwerte in gruppierten Pandas-DataFrames finde?

Wie behalte ich andere Spalten bei, während ich Mindestwerte in gruppierten Pandas-DataFrames finde?

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 20:29:29606Durchsuche

How to Keep Other Columns While Finding Minimums in Grouped Pandas DataFrames?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn