Как рассчитать условное среднее значение в Pandas (с примерами)


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

df.loc[df['team'] == 'A', 'points'].mean()

Это вычисляет среднее значение столбца «точки» для каждой строки в DataFrame, где столбец «команда» равен «А».

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'B', 'B', 'B'],
 'points': [99, 90, 93, 86, 88, 82],
 'assists': [33, 28, 31, 39, 34, 30]})

#view DataFrame
print(df)

 team points assists
0 A 99 33
1 A 90 28
2 A 93 31
3 B 86 39
4 B 88 34
5 B 82 30

Пример 1: Расчет условного среднего для категориальной переменной

В следующем коде показано, как вычислить среднее значение столбца «точки» только для строк в DataFrame, где столбец «команда» имеет значение «А».

#calculate mean of 'points' column for rows where team equals 'A'
df.loc[df['team'] == 'A', 'points'].mean()

94.0

Среднее значение в столбце «Очки» для строк, где «команда» равно «А», равно 94 .

Мы можем вручную проверить это, рассчитав среднее значение очков только для строк, где «команда» равна «А»:

  • Среднее количество баллов: (99 + 90 + 93) / 3 = 94

Пример 2. Вычисление условного среднего для числовой переменной

В следующем коде показано, как вычислить среднее значение столбца «помощь» только для строк в DataFrame, где столбец «точки» имеет значение больше или равное 90.

#calculate mean of 'assists' column for rows where 'points' >= 90
df.loc[df['points'] >= 90 , 'assists'].mean()

30.666666666666668

Среднее значение в столбце «ассисты» для строк, где «очки» больше или равны 90, составляет 30,66667 .

Мы можем вручную проверить это, рассчитав среднее значение очков только для строк, где «команда» равна «А»:

  • Среднее количество передач: (33 + 28 + 31) / 3 = 30,66667.

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

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

Как рассчитать среднее значение столбцов в Pandas
Как рассчитать скользящее среднее в Pandas
Как заполнить значения NaN средним значением в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.