Метод rolling
Метод rolling применяется к Series и создаёт объект скользящего окна. Основным параметром является размер окна window, который определяет количество элементов, участвующих в вычислении. Метод полезен для анализа временных рядов и расчёта скользящих средних.
Синтаксис
ser.rolling(window, min_periods=None, center=False)
Параметр window задаёт размер окна (количество наблюдений). Параметр min_periods определяет минимальное количество элементов для вычисления (по умолчанию равен window). Параметр center указывает, центрировать ли окно (по умолчанию False).
Пример
Рассчитаем скользящую среднюю с окном из трёх элементов:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.rolling(window=3).mean()
print(res)
Результат выполнения кода:
0 NaN
1 NaN
2 2.0
3 3.0
4 4.0
dtype: float64
Пример
Используем параметр min_periods для задания минимального количества элементов для вычисления:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.rolling(window=3, min_periods=2).mean()
print(res)
Результат выполнения кода:
0 NaN
1 1.5
2 2.0
3 3.0
4 4.0
dtype: float64
Пример
Применим метод rolling с параметром center для центрирования окна:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.rolling(window=3, center=True).mean()
print(res)
Результат выполнения кода:
0 NaN
1 2.0
2 3.0
3 4.0
4 NaN
dtype: float64
Пример
Вычислим скользящую сумму с окном из двух элементов:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.rolling(window=2).sum()
print(res)
Результат выполнения кода:
0 NaN
1 3.0
2 5.0
3 7.0
4 9.0
dtype: float64