Pandy: jak używać groupby z wieloma agregacjami
Aby użyć grupowania z wieloma agregacjami w pandach, możesz użyć następującej podstawowej składni:
df. groupby (' team '). agg ( mean_points=(' points ', np. mean ), sum_points=(' points ', np. sum ), std_points=(' points ', np. std ))
Ta konkretna formuła grupuje wiersze ramki DataFrame według zmiennej zwanej zespołem , a następnie oblicza kilka statystyk podsumowujących dla zmiennej zwanej punktami .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: używanie Groupby z wieloma agregacjami w Pandach
Załóżmy, że mamy następującą ramkę danych pand, która zawiera informacje o różnych koszykarzach:
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
Możemy użyć następującej składni, aby pogrupować wiersze ramki DataFrame według zespołu , a następnie obliczyć średnią, sumę i odchylenie standardowe punktów dla każdego zespołu:
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
Wynik wyświetla średnią, sumę i odchylenie standardowe zmiennej punktowej dla każdego zespołu .
Możesz użyć podobnej składni, aby wykonać grupowanie i obliczyć dowolną liczbę agregacji.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania związane z pandą:
Jak liczyć unikalne wartości za pomocą Pandas GroupBy
Jak zastosować funkcję do Pandas Groupby
Jak utworzyć wykres słupkowy z Pandas GroupBy