Функция среднего значения в Pandas используется для вычисления среднего арифметического заданного набора чисел, значения DataFrame, среднего значения столбца или строки или строк в Pandas.
Что такое функция DataFrame.mean() в Pandas?
Чтобы найти среднее значение DataFrame, используйте функцию Pandas DataFrame.mean(). Функция DataFrame.mean() возвращает среднее значение для запрошенной оси.
Если метод mean() применяется к объекту серии Pandas, он возвращает скалярное значение, которое является средним значением всех значений в DataFrame.
Если метод mean() применяется к объекту Pandas DataFrame, он возвращает объект серии pandas, который содержит среднее значение значений по указанной оси.
Синтаксис
|
1 |
DataFrame.mean(axis=None, skipna=None, level=None, numeric_only=None, **kwargs) |
Параметры
- axis{index (0), columns (1)}
Ось применяемого метода.
- skipna: bool, по умолчанию True.
Исключить значения NA/None при вычислении результата.
- level: int или имя уровня, по умолчанию None.
Если ось представляет собой MultiIndex, считайте вместе с определенным уровнем, сворачиваясь в серию.
- numeric_only: bool, по умолчанию None.
Включать только столбцы типа float, int, boolean. Если значения равны None, будут пытаться использовать все, а затем использовать только числовые данные. Не реализовано для серии.
- **kwargs
Дополнительные аргументы ключевого слова для передачи в функцию.
Возвращаемое значение
Он возвращает Series или DataFrame (если указан уровень).
Пример DataFrame.mean()
В методе df.mean(), если мы не укажем ось, по умолчанию будет использоваться ось индекса.
В приведенном ниже примере мы найдем среднее значение DataFrame относительно оси индекса.
|
1 2 3 4 5 6 7 8 9 10 |
# app.py import pandas as pd data = {'X': [29, 46, 10, 36], 'Y': [11, 18, 19, 21], 'Z': [3, 12, 1, 2]} df = pd.DataFrame.from_dict(data) meanDf = df.mean() print(meanDf) |
Вывод:
|
1 2 3 4 |
X 30.25 Y 17.25 Z 4.50 dtype: float64 |
В этом примере мы получили ряд средних значений относительно оси индекса. Вот так рассчитал:
X = 30,25, это выход 29 + 46 + 10 + 36 = 121. А затем нам нужно разделить его на 4, что дает 30,25. То же самое для Y и Z.
Чтобы вычислить среднее значение по строкам в DataFrame, передайте параметр axis = 1.
|
1 2 3 4 5 6 7 8 9 10 |
# app.py import pandas as pd data = {'X': [29, 46, 10, 36], 'Y': [11, 18, 19, 21], 'Z': [3, 12, 1, 2]} df = pd.DataFrame.from_dict(data) meanDf = df.mean(axis=1) print(meanDf) |
Вывод:
|
1 2 3 4 5 |
0 14.333333 1 25.333333 2 10.000000 3 19.666667 dtype: float64 |
Здесь внутри функции df.mean() мы передали параметр axis = 1.
Расчет средней функции следующий:
- Для первой строки среднее значение равно 14,33, которое рассчитывается как 29 + 11 + 3 = 43, а затем делится на 3, что дает 14,33. Этот расчет одинаков для второй, третьей и четвертой строк.
- Аргумент df.mean(axis = 0), axis = 0 вычисляет среднее значение по столбцам фрейма данных, так что результатом будет axis = 1, это среднее значение по строке, поэтому вы получаете несколько значений.
Итак, если вы хотите вычислить средние значения по строкам или по столбцам, вам нужно передать соответствующую ось. В противном случае по умолчанию он даст вам среднее значение на основе индекса.
Нахождение среднего значения в DataFrame с None
Бывают случаи, когда вы сталкиваетесь с большим количеством значений None или NaN в DataFrame. Когда мы сталкиваемся с этим, мы можем найти среднее значение по оси столбца.
См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 |
# app.py import pandas as pd data = {'X': [29, 46, None, 36], 'Y': [11, None, 19, 21], 'Z': [3, 12, 1, None]} df = pd.DataFrame.from_dict(data) meanDf = df.mean(axis=1, skipna=True) print(meanDf) |
Вывод:
|
1 2 3 4 5 |
0 14.333333 1 29.000000 2 10.000000 3 28.500000 dtype: float64 |
Поиск среднего значения определенного столбца DataFrame
Чтобы найти среднее значение определенного столбца DataFrame, используйте df[«column name»].
|
1 2 3 4 5 6 7 8 9 10 |
# app.py import pandas as pd data = {'X': [29, 46, None, 36], 'Y': [11, None, 19, 21], 'Z': [3, 12, 1, None]} df = pd.DataFrame.from_dict(data) meanZ = df['Z'].mean() print(meanZ) |
Вывод:
|
1 |
5.333333333333333 |
В этом примере мы получили среднее значение столбца Z, который также содержит значения None.
Выход рассчитывается следующим образом: 3 + 12 + 1 = 16, а затем разделите это на 3, что является окончательным выходом = 5,3333.
Заключение

Чтобы вычислить среднее значение Pandas DataFrame, вы можете использовать метод pandas.DataFrame.mean(). Используя метод mean(), вы можете вычислить среднее значение по оси или по всему DataFrame. Просто помните следующие моменты.
- Чтобы найти среднее значение для каждого столбца в DataFrame:
|
1 |
df.mean(axis=0) |
- Чтобы найти среднее значение для каждой строки в DataFrame:
|
1 |
df.mean(axis=1) |
