So finden sie den maximalwert pro gruppe bei pandas
Häufig möchten Sie möglicherweise den Maximalwert pro Gruppe in einem Pandas-DataFrame ermitteln.
Glücklicherweise ist dies mit den Funktionen groupby() und max() mit der folgenden Syntax einfach zu bewerkstelligen:
df. groupby (' column_name '). max ()
In diesem Tutorial werden mehrere Beispiele für die praktische Verwendung dieser Funktion anhand des folgenden Pandas DataFrame erläutert:
import pandas as pd #create pandas DataFrame df = pd. DataFrame ({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'], 'points':[24, 23, 27, 11, 14, 8, 13], 'rebounds': [11, 8, 7, 6, 6, 5, 12]}) #display DataFrame print (df) team points rebounds 0 to 24 11 1 to 23 8 2 B 27 7 3 B 11 6 4 B 14 6 5 C 8 5 6 C 13 12
Beispiel 1: Maximalwert mehrerer Spalten gruppiert nach einer Variablen
Der folgende Code zeigt, wie Sie den Maximalwert mehrerer Spalten finden, gruppiert nach einer Variablen in einem DataFrame:
#find max values of points and rebounds, grouped by team df. groupby (' team '). max (). reset_index () team points rebounds 0 to 24 11 1 B 27 7 2 C 13 12
Aus dem Ergebnis können wir Folgendes erkennen:
- Team A hat einen maximalen Punktewert von 24 und einen maximalen Rebounds- Wert von 11.
- Team B hat einen maximalen Punktewert von 27 und einen maximalen Rebounds- Wert von 7.
- Team C hat einen maximalen Punktewert von 13 und einen maximalen Rebounds- Wert von 12.
Beachten Sie, dass wir die Funktion „reset_index()“ verwendet haben, um sicherzustellen, dass der Index mit dem Index des ursprünglichen DataFrame übereinstimmt.
Beispiel 2: Maximalwert einer einzelnen Spalte, gruppiert nach einer Variablen
Der folgende Code zeigt, wie man den Maximalwert einer einzelnen Spalte findet, gruppiert nach einer einzelnen Variablen:
#find max value of points, grouped by team df. groupby (' team ')[' points ']. max (). reset_index () team points 0 to 24 1 B 27 2 C 13
Beispiel 3: Sortieren nach Maximalwerten
Wir können auch die Funktion sort_values() verwenden, um die Maximalwerte zu sortieren.
Wir können aufsteigend=False angeben, um vom größten zum kleinsten zu sortieren:
#find max value by team, sort descending df. groupby (' team ')[' points ']. max (). reset_index (). sort_values ([' points '], ascending= False ) team points 1 B 27 0 to 24 2 C 13
Oder wir können aufsteigend=True angeben, um vom Kleinsten zum Größten zu sortieren:
#find max value by team, sort ascending df. groupby (' team ')[' points ']. max (). reset_index (). sort_values ([' points '], ascending= True ) team points 2 C 13 0 to 24 1 B 27
Zusätzliche Ressourcen
So berechnen Sie die Summe der Spalten in Pandas
So berechnen Sie den Durchschnitt der Spalten in Pandas
So ermitteln Sie den Maximalwert von Spalten in Pandas