Метод mean аксессора expanding
Метод mean аксессора expanding применяется к Series или DataFrame
и вычисляет расширяющееся среднее арифметическое для всех предыдущих значений
вместе с текущим. Этот метод полезен для анализа трендов и сглаживания
временных рядов. Метод возвращает объект того же типа, что и исходные данные,
с вычисленными средними значениями на каждой позиции.
Синтаксис
series.expanding(min_periods=1).mean()
df.expanding(min_periods=1).mean()
Основной параметр:
-
min_periods- минимальное количество наблюдений, необходимое для вычисления среднего значения. По умолчанию равно1.
Пример
Вычислим расширяющееся среднее для числовой серии:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.expanding().mean()
print(res)
Результат выполнения кода:
0 1.0
1 1.5
2 2.0
3 2.5
4 3.0
dtype: float64
Пример
Изменим минимальное количество периодов. Если установить 3,
то для первых двух элементов результат будет NaN:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.expanding(min_periods=3).mean()
print(res)
Результат выполнения кода:
0 NaN
1 NaN
2 2.0
3 2.5
4 3.0
dtype: float64
Пример
Применим метод к таблице. Среднее вычисляется для каждого столбца отдельно:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.expanding().mean()
print(res)
Результат выполнения кода:
a b
0 1.0 10.0
1 1.5 15.0
2 2.0 20.0
3 2.5 25.0
4 3.0 30.0