Hoe de mediaanwaarde per groep in panda's te vinden
U kunt de volgende basissyntaxis gebruiken om de mediaanwaarde per groep in panda’s te berekenen:
df. groupby ([' group_variable '])[' value_variable ']. median (). reset_index ()
U kunt ook de volgende syntaxis gebruiken om de mediaanwaarde te berekenen, gegroepeerd op meerdere kolommen:
df. groupby ([' group1 ', ' group2 '])[' value_variable ']. median (). reset_index ()
De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld 1: Het vinden van de mediaanwaarde per groep
Laten we aannemen dat we de volgende panda’s DataFrames hebben:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df team position points rebounds 0 A G 5 11 1 A G 7 8 2 A F 7 10 3 A F 9 6 4 B G 12 6 5 B G 9 5 6 B F 9 9 7 B F 4 12
We kunnen de volgende code gebruiken om de mediaanwaarde van de kolom ‘punten’ te vinden, gegroepeerd per team:
#calculate median points by team
df. groupby ([' team '])[' points ']. median (). reset_index ()
team points
0 to 7.0
1 B 9.0
Uit het resultaat kunnen we zien:
- Het gemiddelde aantal punten dat door spelers van team A wordt gescoord, is 7 .
- Het gemiddelde aantal punten dat door spelers van team B wordt gescoord, is 9 .
Merk op dat we ook de mediaanwaarde van twee variabelen tegelijk kunnen vinden:
#calculate median points and median rebounds by team
df. groupby ([' team '])[[' points ', ' rebounds ']]. median ()
team points rebounds
0 to 7.0 9.0
1B 9.0 7.5
Voorbeeld 2: De mediaanwaarde vinden op basis van meerdere groepen
De volgende code laat zien hoe u de mediaanwaarde van de kolom ‚punten‘ kunt vinden, gegroepeerd op team en positie:
#calculate median points by team
df. groupby ([' team ', ' position '])[' points ']. median (). reset_index ()
team position points
0 A F 8.0
1 A G 6.0
2 B F 6.5
3 B G 10.5
Uit het resultaat kunnen we zien:
- Het gemiddelde aantal punten dat wordt gescoord door spelers in positie “F” van team A is 8 .
- De mediaan van de punten gescoord door spelers in positie “G” van team A is 6 .
- Het gemiddelde aantal punten dat wordt gescoord door spelers in positie “F” van team B is 6,5 .
- De mediaan van de punten gescoord door spelers in positie “G” van team B is 10,5 .
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