Pandas: рассчитать среднее значение и стандартное значение столбца в группе


Вы можете использовать следующий синтаксис для вычисления среднего и стандартного отклонения столбца после использования операции groupby() в pandas:

 df. groupby ([' team '], as_index= False ). agg ({' points ':[' mean ', ' std ']})

В этом конкретном примере строки DataFrame pandas группируются по значению в столбце «Команда », затем вычисляется среднее и стандартное отклонение значений в столбце «Точки» .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: вычислить среднее и норму столбца в группе Pandas.

Предположим, у нас есть следующий DataFrame pandas, содержащий информацию о баскетболистах разных команд:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [12, 15, 17, 17, 19, 14, 15, 20, 24, 28],
                   ' assists ': [5, 5, 7, 9, 10, 14, 13, 8, 2, 7]})
                            
#view DataFrame
print (df)

  team points assists
0 to 12 5
1 to 15 5
2 To 17 7
3 To 17 9
4 B 19 10
5 B 14 14
6 B 15 13
7 C 20 8
8 C 24 2
9 C 28 7

Мы можем использовать следующий синтаксис для расчета среднего и стандартного отклонения значений в столбце точек , сгруппированных по столбцу команды :

 #calculate mean and standard deviation of points, grouped by team
output = df. groupby ([' team '], as_index= False ). agg ({' points ':[' mean ', ' std ']})

#view results
print (output)

  team points          
         mean std
0 A 15.25 2.362908
1 B 16.00 2.645751
2 C 24.00 4.000000

По результату мы видим:

  • Среднее количество очков команды А составляет 15,25 .
  • Стандартное отклонение очков команды А составляет 2,362908 .

И так далее.

Мы также можем переименовать столбцы, чтобы результат было легче читать:

 #rename columns
output.output. columns = [' team ', ' points_mean ', ' points_std ']

#view updated results
print (output)

  team points_mean points_std
0 A 15.25 2.362908
1 B 16.00 2.645751
2 C 24.00 4.000000

Примечание . Полную документацию по операции pandas groupby() можно найти здесь .

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

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

Как выполнить сумму GroupBy в Pandas
Как использовать Groupby и Plot в Pandas
Как посчитать уникальные значения с помощью GroupBy в Pandas

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

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