Zo vind je bij pandas de maximale waarde per groep


Vaak wilt u misschien de maximale waarde per groep vinden in een Panda DataFrame.

Gelukkig is dit eenvoudig te doen met behulp van de functies groupby() en max() met de volgende syntaxis:

 df. groupby (' column_name '). max ()

In deze tutorial worden verschillende voorbeelden uitgelegd van praktisch gebruik van deze functie met behulp van de volgende panda’s DataFrame:

 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

Voorbeeld 1: maximale waarde van meerdere kolommen gegroepeerd op een variabele

De volgende code laat zien hoe u de maximale waarde van meerdere kolommen kunt vinden, gegroepeerd op een variabele in een 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

Uit het resultaat kunnen we zien dat:

  • Team A heeft een maximale puntenwaarde van 24 en een maximale reboundswaarde van 11.
  • Team B heeft een maximale puntenwaarde van 27 en een maximale reboundswaarde van 7.
  • Team C heeft een maximale puntenwaarde van 13 en een maximale reboundswaarde van 12.

Houd er rekening mee dat we de functie reset_index() hebben gebruikt om ervoor te zorgen dat de index overeenkomt met de index van het oorspronkelijke DataFrame.

Voorbeeld 2: Maximale waarde van een enkele kolom gegroepeerd op een variabele

De volgende code laat zien hoe u de maximale waarde van een enkele kolom kunt vinden, gegroepeerd op een enkele variabele:

 #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

Voorbeeld 3: Sorteren op maximale waarden

We kunnen ook de functie sort_values() gebruiken om de maximale waarden te sorteren.

We kunnen oplopend = False opgeven om van groot naar klein te sorteren:

 #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

Of we kunnen oplopend=Waar opgeven om van klein naar groot te sorteren:

 #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

Aanvullende bronnen

Hoe de som van kolommen in Panda’s te berekenen
Hoe het gemiddelde van kolommen in Panda’s te berekenen
Hoe u de maximale waarde van kolommen in Panda’s kunt vinden

Einen Kommentar hinzufügen

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