Метод mean
Метод mean применяется к DataFrame
и возвращает среднее арифметическое значение для каждого
числового столбца. По умолчанию метод вычисляет среднее
по строкам для каждого столбца. Параметр axis
позволяет изменить направление вычислений.
Метод автоматически пропускает пропущенные значения
(параметр skipna по умолчанию равен True).
Синтаксис
df.mean(axis=0, skipna=True, numeric_only=False)
Пример
Давайте вычислим средние значения для всех числовых столбцов:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
print(df.mean())
Результат выполнения кода:
a 3.0
b 30.0
dtype: float64
Пример
Вычислим среднее значение по строкам для каждой строки таблицы:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
print(df.mean(axis=1))
Результат выполнения кода:
0 5.5
1 11.0
2 16.5
3 22.0
4 27.5
dtype: float64
Пример
Рассмотрим работу метода с пропущенными значениями. По умолчанию они игнорируются:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 2, np.nan, 4, 5],
'b': [10, 20, 30, np.nan, 50]
})
print(df.mean())
Результат выполнения кода:
a 3.0
b 27.5
dtype: float64
Пример
Если необходимо учитывать пропущенные значения, можно отключить их пропуск:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 2, np.nan, 4, 5],
'b': [10, 20, 30, np.nan, 50]
})
print(df.mean(skipna=False))
Результат выполнения кода:
a NaN
b NaN
dtype: float64
Пример
Если в таблице есть нечисловые столбцы, они по умолчанию
игнорируются. Параметр numeric_only позволяет
явно указать, что нужно работать только с числовыми данными:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': ['x', 'y', 'z', 'w', 'v'],
'c': [10, 20, 30, 40, 50]
})
print(df.mean(numeric_only=True))
Результат выполнения кода:
a 3.0
c 30.0
dtype: float64