Heim >Backend-Entwicklung >Python-Tutorial >Wie wähle ich Zeilen mit dem Mindestwert in einer bestimmten Spalte nach GroupBy in Pandas aus?
Bei der Arbeit mit Pandas DataFrames ist es oft notwendig, Daten nach bestimmten Spalten zu gruppieren und Operationen an diesen durchzuführen Gruppen. Ein häufiger Vorgang ist das Auswählen von Zeilen mit dem Mindestwert in einer bestimmten Spalte.
In diesem Artikel untersuchen wir einen einfachen und effizienten Ansatz, um diese Aufgabe zu lösen, ohne auf MultiIndex zurückzugreifen.
Problemstellung:
Angesichts eines DataFrame mit den Spalten A, B und C besteht unser Ziel darin, für jeden Wert in Spalte A die Zeile mit dem Mindestwert in Spalte B auszuwählen.
Original DataFrame:
A | B | C |
---|---|---|
1 | 4 | 3 |
1 | 5 | 4 |
1 | 2 | 10 |
2 | 7 | 2 |
2 | 4 | 4 |
2 | 6 | 6 |
Gewünschte Ausgabe:
A | B | C |
---|---|---|
1 | 2 | 10 |
2 | 4 | 4 |
Lösung:
Der Schlüssel zur Lösung dieses Problems liegt in der idxmin()-Methode von Pandas. Diese Methode gibt den Index der Zeile mit dem Mindestwert in einer angegebenen Spalte für jede Gruppe zurück.
Mit groupby() und idxmin() können wir die gewünschten Zeilen direkt auswählen:
<code class="python"># Group the DataFrame by column 'A' grouped = df.groupby('A') # Get the index of the rows with the minimum value in column 'B' for each group min_idx = grouped.B.idxmin() # Use the index to select the desired rows result = df.loc[min_idx]</code>
Ausgabe:
A B C 2 1 2 10 4 2 4 4
Dieser Ansatz wählt effizient die Zeilen mit dem Mindestwert in Spalte B für jede Gruppe in A aus, ohne dass komplexe Datenstrukturen oder Zwischenschritte erforderlich sind.
Das obige ist der detaillierte Inhalt vonWie wähle ich Zeilen mit dem Mindestwert in einer bestimmten Spalte nach GroupBy in Pandas aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!