Panda's: hoe de modus in een groupby-object te berekenen
U kunt de volgende syntaxis gebruiken om de modus in een GroupBy-object in panda’s te berekenen:
df. groupby ([' group_var '])[' value_var ']. agg ( pd.Series.mode )
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Berekeningsmodus in een GroupBy-object
Stel dat we het volgende panda’s DataFrame hebben dat de punten weergeeft die zijn gescoord door basketbalspelers van verschillende teams:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
' points ': [10, 10, 12, 15, 19, 23, 20, 20, 26]})
#view DataFrame
print (df)
team points
0 to 10
1 to 10
2 to 12
3 to 15
4 B 19
5 B 23
6 C 20
7 C 20
8 C 26
We kunnen de volgende syntaxis gebruiken om de modepuntwaarde voor elk team te berekenen:
#calculate mode points value for each team
df. groupby ([' team '])[' points ']. agg ( pd.Series.mode )
team
At 10
B [19, 23]
C 20
Name: points, dtype: object
Zo interpreteert u het resultaat:
- De modepuntenwaarde voor team A is 10 .
- De modepuntwaarden voor Team B zijn 19 en 23 .
- De modepuntenwaarde voor Team C is 20 .
Als een groep meerdere modi heeft, kunt u de volgende syntaxis gebruiken om elke modus op een andere regel weer te geven:
#calculate mode points value for each team
df. groupby ([' team '])[' points ']. apply ( pd.Series.mode )
team
At 0 10
B 0 19
1 23
C 0 20
Name: points, dtype: int64
Opmerking : u kunt hier de volledige documentatie van de GroupBy-bewerking in panda’s vinden.
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