Как рассчитать стандартное отклонение для каждой группы в пандах


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

Метод 1: вычислить стандартное отклонение столбца, сгруппированного по столбцу.

 df. groupby ([' group_col '])[' value_col ']. std ()

Метод 2. Рассчитайте стандартное отклонение нескольких столбцов, сгруппированных по одному столбцу.

 df. groupby ([' group_col '])[' value_col1 ', ' value_col2 ']. std ()

Способ 3: вычислить стандартное отклонение столбца, сгруппированного по нескольким столбцам.

 df. groupby ([' group_col1 ', ' group_col2 '])[' value_col ']. std ()

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'F', 'F', 'G', 'F', 'F', 'G', 'G'],
                   ' points ': [30, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [4, 3, 7, 7, 12, 15, 8, 4]})

#view DataFrame
print (df)

  team position points assists
0 AG 30 4
1 AF 22 3
2 FY 19 7
3 AG 14 7
4 BF 14 12
5 BF 11 15
6 BG 20 8
7 BG 28 4

Пример 1. Вычисление стандартного отклонения столбца, сгруппированного по столбцу.

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

 #calculate standard deviation of points grouped by team
df. groupby (' team ')[' points ']. std ()

team
A 6.70199
B 7.50000
Name: points, dtype: float64

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

  • Стандартное отклонение очков команды А составляет 6,70199 .
  • Стандартное отклонение очков для Команды Б составляет 7,5 .

Пример 2. Вычисление стандартного отклонения нескольких столбцов, сгруппированных по одному столбцу.

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

 #calculate standard deviation of points and assists grouped by team
df. groupby (' team ')[[' points ', ' assists ']]. std ()

	assist points
team		
A 6.70199 2.061553
B 7.50000 4.787136

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

Пример 3. Вычисление стандартного отклонения столбца, сгруппированного по нескольким столбцам.

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

 #calculate standard deviation of points, grouped by team and position
df. groupby ([' team ', ' position '])[' points ']. std ()

team position
AF 2.121320
      G 11.313708
BF 2.121320
      G 5.656854
Name: points, dtype: float64

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

  • Стандартное отклонение очков игроков команды А и позиции F составляет 2,12 .
  • Стандартное отклонение очков игроков команды А и позиции G составляет 11,31 .
  • Стандартное отклонение очков игроков команды B и позиции F составляет 2,12 .
  • Стандартное отклонение очков игроков команды Б и позиции G составляет 5,65 .

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

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

Как рассчитать среднее значение группы в пандах
Как рассчитать максимальное значение для группы в Pandas
Как рассчитать сумму на группу в Pandas
Как рассчитать квантили по группе в Pandas

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

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