Hoe het groepsgemiddelde bij panda's te berekenen (met voorbeelden)
Je kunt de volgende methoden gebruiken om de gemiddelde waarde per groep onder panda’s te berekenen:
Methode 1: Bereken het gemiddelde van een kolom gegroepeerd per kolom
df. groupby ([' group_col '])[' value_col ']. mean ()
Methode 2: Bereken het gemiddelde van meerdere kolommen gegroepeerd op één kolom
df. groupby ([' group_col '])[' value_col1 ', ' value_col2 ']. mean ()
Methode 3: Bereken het gemiddelde van een kolom gegroepeerd door meerdere kolommen
df. groupby ([' group_col1 ', ' group_col2 '])[' value_col ']. mean ()
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende panda’s DataFrame:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'F', 'F', 'G', 'F', 'F', 'G', 'G'], ' points ': [30, 22, 19, 14, 14, 11, 20, 28], ' assists ': [4, 3, 7, 7, 12, 15, 8, 4]}) #view DataFrame print (df) team position points assists 0 AG 30 4 1 AF 22 3 2 FY 19 7 3 AG 14 7 4 BF 14 12 5 BF 11 15 6 BG 20 8 7 BG 28 4
Voorbeeld 1: Bereken het gemiddelde van een kolom gegroepeerd per kolom
De volgende code laat zien hoe u de gemiddelde waarde van de puntenkolom berekent, gegroepeerd per teamkolom :
#calculate mean of points grouped by team
df. groupby (' team ')[' points ']. mean ()
team
At 9:25 p.m.
B 18.25
Name: points, dtype: float64
Uit het resultaat kunnen we zien:
- De gemiddelde puntenwaarde van team A is 21,25 .
- De gemiddelde puntenwaarde van team B is 18,25 .
Voorbeeld 2: Bereken het gemiddelde van meerdere kolommen gegroepeerd op één kolom
De volgende code laat zien hoe je de gemiddelde waarde van de puntenkolom en de gemiddelde waarde van de assistskolom berekent, gegroepeerd op de teamkolom :
#calculate mean of points and mean of assists grouped by team
df. groupby (' team ')[[' points ', ' assists ']]. mean ()
assist points
team
At 21.25 5.25
B 18.25 9.75
De uitvoer toont de gemiddelde puntwaarde en gemiddelde hulpwaarde voor elk team.
Voorbeeld 3: Bereken het gemiddelde van een kolom gegroepeerd door meerdere kolommen
De volgende code laat zien hoe u de gemiddelde waarde van de puntenkolom berekent, gegroepeerd op team- en positiekolommen :
#calculate mean of points, grouped by team and position
df. groupby ([' team ', ' position '])[' points ']. mean ()
team position
FY 20.5
G 22.0
BF 12.5
G 24.0
Name: points, dtype: float64
Uit het resultaat kunnen we zien:
- De gemiddelde puntenwaarde van spelers uit team A en positie F is 20,5 .
- De gemiddelde puntenwaarde voor spelers uit team A en positie G is 22 .
- De gemiddelde puntenwaarde van spelers uit team B en positie F is 12,5 .
- De gemiddelde puntenwaarde voor spelers uit team B en positie G is 24 .
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in panda’s kunt uitvoeren:
Zo vind je bij Pandas de maximale waarde per groep
Hoe de som per groep bij panda’s te vinden
Hoe kwantielen per groep in Panda’s te berekenen