Panda's: groupby gebruiken met meerdere aggregaties
U kunt de volgende basissyntaxis gebruiken om een groupby met meerdere aggregaties in panda’s te gebruiken:
df. groupby (' team '). agg ( mean_points=(' points ', np. mean ), sum_points=(' points ', np. sum ), std_points=(' points ', np. std ))
Deze specifieke formule groepeert de rijen van het DataFrame op basis van de variabele genaamd team en berekent vervolgens verschillende samenvattende statistieken voor de variabele genaamd points .
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Groupby gebruiken met meerdere aggregaties in Panda’s
Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalspelers:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Mavs', 'Heat', 'Heat', 'Heat'], ' points ': [18, 22, 19, 14, 14, 11], ' assists ': [5, 7, 7, 9, 12, 9]}) #view DataFrame print (df) team points assists 0 Mavs 18 5 1 Mavs 22 7 2 Mavs 19 7 3 Heat 14 9 4 Heat 14 12 5 Heat 11 9
We kunnen de volgende syntaxis gebruiken om de rijen van het DataFrame te groeperen op team en vervolgens het gemiddelde, de som en de standaardafwijking van de punten voor elk team te berekenen:
import numpy as np #group by team and calculate mean, sum, and standard deviation of points df. groupby (' team '). agg ( mean_points=(' points ', np. mean ), sum_points=(' points ', np. sum ), std_points=(' points ', np. std )) mean_points sum_points std_points team Heat 13.000000 39 1.732051 Mavs 19.666667 59 2.081666
Het resultaat toont het gemiddelde, de som en de standaardafwijking van de puntenvariabele voor elk team .
U kunt een vergelijkbare syntaxis gebruiken om een groupby uit te voeren en zoveel aggregaties te berekenen als u wilt.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende panda-taken kunt uitvoeren:
Hoe u unieke waarden kunt tellen met Pandas GroupBy
Een functie toepassen op Panda’s Groupby
Hoe u een staafdiagram kunt maken vanuit Pandas GroupBy