Pandas: як використовувати groupby з кількома агрегаціями
Ви можете використовувати такий базовий синтаксис, щоб використовувати groupby з кількома агрегаціями в pandas:
df. groupby (' team '). agg ( mean_points=(' points ', np. mean ), sum_points=(' points ', np. sum ), std_points=(' points ', np. std ))
Ця конкретна формула групує рядки DataFrame за змінною під назвою team , а потім обчислює декілька підсумкових статистичних даних для змінної під назвою points .
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: використання Groupby з кількома агрегаціями в Pandas
Припустімо, що у нас є такий фрейм даних pandas, який містить інформацію про різних баскетболістів:
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
Ми можемо використати такий синтаксис, щоб згрупувати рядки DataFrame за командами , а потім обчислити середнє значення, суму та стандартне відхилення балів для кожної команди:
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
Результат відображає середнє значення, суму та стандартне відхилення змінної балів для кожної команди .
Ви можете використовувати подібний синтаксис для виконання групування та обчислення скільки завгодно агрегацій.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші поширені завдання панди:
Як підрахувати унікальні значення за допомогою Pandas GroupBy
Як застосувати функцію до Pandas Groupby
Як створити стовпчасту діаграму з Pandas GroupBy