Oft sind Sie daran interessiert, den Maximalwert nach Gruppe in einem Pandas DataFrame zu 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 einige Beispiele für die praktische Verwendung dieser Funktion mit den folgenden Pandas DataFrame erläutert:

import pandas as pd

# Pandas DataFrame erstellen
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]}))

# DataFrame anzeigen
print(df)

  team  points  rebounds
0    A      24        11
1    A      23         8
2    B      27         7
3    B      11         6
4    B      14         6
5    C       8         5
6    C      13        12

Beispiel 1: Maximaler Wert mehrerer Spalten, gruppiert nach einer Variablen

Der folgende Code zeigt, wie Sie den Maximalwert mehrerer Spalten ermitteln, die in einem DataFrame nach einer Variablen gruppiert sind:

# Maximalwerte für Punkte und Rebounds finden, gruppiert nach Team
df.groupby('team').max().reset_index()


team    points  rebounds
0   A   24  11
1   B   27  7
2   C   13  12

Aus der Ausgabe können wir Folgendes ersehen:

  • Team A hat einen maximalen Punktewert von 24 und einen maximalen Rückprallwert von 11.
  • Team B hat einen maximalen Punktewert von 27 und einen maximalen Rückprallwert von 7.
  • Team C hat einen maximalen Punktewert von 13 und einen maximalen Rückprallwert von 12.

Beachten Sie, dass wir die Funktion reset_index() verwendet haben, um sicherzustellen, dass der Index mit dem Index im ursprünglichen DataFrame übereinstimmt.

Beispiel 2: Maximaler Wert einer einzelnen Spalte, gruppiert nach einer Variablen

Der folgende Code zeigt, wie Sie den Maximalwert von nur einer Spalte ermitteln, die in einer einzelnen Variablen gruppiert ist:

# Maximalwert der Punkte finden, gruppiert nach Team
df.groupby('team')['points'].max().reset_index()

team    points
0   A   24
1   B   27
2   C   13

Beispiel 3: Nach Maximalwerten sortieren

Wir können auch die Funktion sort_values() verwenden, um die Maximalwerte zu sortieren.

Wir können ascending=False angeben, um vom größten zum kleinsten zu sortieren:

# Maximalwert nach Team finden, absteigend sortieren
df.groupby('team')['points'].max().reset_index().sort_values(['points'], ascending=False)


team    points
1   B   27
0   A   24
2   C   13

Oder wir können ascending=True angeben, um vom kleinsten zum größten zu sortieren:

# Maximaler Wert nach Team finden, aufsteigend sortieren 
df.groupby('team')['points'].max().reset_index().sort_values(['points'], ascending=True) 

team    points
2   C   13
0   A   24
1   B   27

Zusätzliche Ressourcen

So berechnen Sie die Summe der Spalten in Pandas

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: