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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert