Panda's: beschrijven() gebruiken per groep


U kunt de functie beschrijven() gebruiken om beschrijvende statistieken te genereren voor variabelen in een pandas DataFrame.

U kunt de volgende basissyntaxis gebruiken om de functie beschrijven() te gebruiken met de functie groupby() in panda’s:

 df. groupby (' group_var ')[' values_var ']. describe ()

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: gebruik beschrijven() per groep in Panda’s

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over basketbalspelers van twee verschillende teams:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [8, 12, 14, 14, 15, 22, 27, 24],
                   ' assists ':[2, 2, 3, 5, 7, 6, 8, 12]})

#view DataFrame
print (df)

  team points assists
0 to 8 2
1 to 12 2
2 to 14 3
3 to 14 5
4 B 15 7
5 B 22 6
6 B 27 8
7 B 24 12

We kunnen de functie beschrijven() gebruiken met de functie groupby() om de waarden in de puntenkolom voor elk team samen te vatten:

 #summarize points by team
df. groupby (' team ')[' points ']. describe ()

count mean std min 25% 50% 75% max
team								
A 4.0 12.0 2.828427 8.0 11.00 13.0 14.00 14.0
B 4.0 22.0 5.099020 15.0 20.25 23.0 24.75 27.0

Uit het resultaat kunnen we de volgende waarden zien voor de puntenvariabele voor elk team:

  • aantal (aantal observaties)
  • gemiddeld (gemiddelde puntwaarde)
  • std (standaardafwijking van puntwaarden)
  • min (minimale puntwaarde)
  • 25 % (25e percentiel van punten)
  • 50 % (50e percentiel (dwz mediaan) van punten)
  • 75 % (75e percentiel van punten)
  • max (maximale puntwaarde)

Als u wilt dat de resultaten worden weergegeven in DataFrame-indeling, kunt u het argument reset_index() gebruiken:

 #summarize points by team
df. groupby (' team ')[' points ']. describe (). reset_index ()

        team count mean std min 25% 50% 75% max
0 A 4.0 12.0 2.828427 8.0 11.00 13.0 14.00 14.0
1 B 4.0 22.0 5.099020 15.0 20.25 23.0 24.75 27.0

De teamvariabele is nu een kolom in het DataFrame en de indexwaarden zijn 0 en 1.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:

Panda’s: hoe bereken je de cumulatieve som per groep
Panda’s: unieke waarden per groep tellen
Panda’s: hoe de correlatie per groep te berekenen

Einen Kommentar hinzufügen

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