Как рассчитать среднее значение выбранных столбцов в Pandas


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

Метод 1: вычислить среднее значение строки для всех столбцов

df.mean (axis= 1 )

Метод 2: вычислить среднее значение строки для определенных столбцов

df[['col1', 'col3']]. mean (axis= 1 )

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [14, 19, 9, 21, 25, 29, 20, 11],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

 points assists rebounds
0 14 5 11
1 19 7 8
2 9 7 10
3 21 9 6
4 25 12 6
5 29 9 5
6 20 9 9
7 11 4 12

Метод 1: вычислить среднее значение строки для всех столбцов

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

#define new column that shows the average row value for all columns
df['average_all'] = df.mean (axis= 1 )

#view updated DataFrame
df

 points assists rebounds average_all
0 14 5 11 10.000000
1 19 7 8 11.333333
2 9 7 10 8.666667
3 21 9 6 12.000000
4 25 12 6 14.333333
5 29 9 5 14.333333
6 20 9 9 12.666667
7 11 4 12 9.000000

Вот как интерпретировать вывод:

Среднее значение первой строки рассчитывается как: (14+5+11) / 3 = 10 .

Среднее значение второй строки рассчитывается как: (19+7+8) / 3 = 11,33 .

И так далее.

Метод 2: вычислить среднее значение строки для определенных столбцов

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

#define new column that shows average of row values for points and rebounds columns
df['avg_points_rebounds'] = df[['points', 'rebounds']]. mean (axis= 1 )

#view updated DataFrame
df

 points assists rebounds avg_points_rebounds
0 14 5 11 12.5
1 19 7 8 13.5
2 9 7 10 9.5
3 21 9 6 13.5
4 25 12 6 15.5
5 29 9 5 17.0
6 20 9 9 14.5
7 11 4 12 11.5

Вот как интерпретировать вывод:

Среднее значение «очков» и «подборов» в первой строке рассчитывается как: (14+11) / 2 = 12,5 .

Среднее значение «очков» и «подборов» во второй строке рассчитывается как: (19+8) / 2 = 13,5 .

И так далее.

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

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

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