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