DataFrame.mean() / Series.mean()

Метод mean() вычисляет среднее арифметическое: для Series — одно число, для DataFrame — по каждому столбцу (или строке) числовых данных. По умолчанию пропуски (NaN) игнорируются.

Сигнатура

DataFrame.mean(axis=0, skipna=True, numeric_only=False, **kwargs)
Series.mean(axis=0, skipna=True, **kwargs)

Параметры

  • axis — 0 (по столбцам, результат — Series с одной средней на столбец) или 1 (по строкам).

  • skipna — игнорировать NaN (по умолчанию True).

  • numeric_only — учитывать только числовые столбцы.

Возвращаемое значение

Скаляр (для Series) или Series (для DataFrame).

Примеры

Пример 1. Среднее Series

import pandas as pd

s = pd.Series([22.0, 22.5, 23.0, 22.8])
print(s.mean())
22.575

Пример 2. Среднее по каждому столбцу

import pandas as pd

df = pd.DataFrame({
    "temp":     [22, 23, 21, 24],
    "humidity": [55, 60, 58, 62],
})
print(df.mean())
temp        22.50
humidity    58.75
dtype: float64

Пример 3. Среднее по строкам

Средняя температура двух датчиков для каждого момента времени:

import pandas as pd

df = pd.DataFrame({"t_a": [22, 23, 24], "t_b": [22.5, 23.5, 24.5]})
print(df.mean(axis=1))
0    22.25
1    23.25
2    24.25
dtype: float64

Пример 4. С пропусками

import pandas as pd
import numpy as np

s = pd.Series([10, np.nan, 30, np.nan, 50])
print(s.mean())
print(s.mean(skipna=False))
30.0
nan

Пример 5. Только числовые столбцы

import pandas as pd

df = pd.DataFrame({
    "sensor": ["A", "B", "C"],
    "temp":   [22, 23, 24],
})
print(df.mean(numeric_only=True))
temp    23.0
dtype: float64

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.