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

Предположим, у нас есть следующий DataFrame 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

Результат отображает среднее значение, сумму и стандартное отклонение переменной количества очков для каждой команды .

Вы можете использовать аналогичный синтаксис для выполнения группировки и расчета любого количества агрегатов.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи panda:

Как посчитать уникальные значения с помощью Pandas GroupBy
Как применить функцию к Pandas Groupby
Как создать гистограмму из Pandas GroupBy

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *