РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
596 of 687 menu

Метод var

Метод var аксессора rolling применяется к DataFrame или Series и вычисляет скользящую дисперсию для заданного размера окна. Метод возвращает новый объект той же размерности, где каждое значение представляет собой дисперсию в скользящем окне. Первым параметром обязательно передаётся размер окна window. Дополнительные параметры позволяют настроить способ вычислений: ddof определяет число степеней свободы (по умолчанию 1), numeric_only задаёт работу только с числовыми столбцами.

Синтаксис

df.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None).var(ddof=1, numeric_only=False, engine=None, engine_kwargs=None)

Пример

Вычислим скользящую дисперсию для числового ряда с размером окна 3:

import pandas as pd ser = pd.Series([1, 2, 3, 4, 5]) res = ser.rolling(window=3).var() print(res)

Результат выполнения кода:

0 NaN 1 NaN 2 1.0 3 1.0 4 1.0 dtype: float64

Пример

Изменим параметр ddof на 0 для вычисления дисперсии по генеральной совокупности:

import pandas as pd ser = pd.Series([1, 2, 3, 4, 5]) res = ser.rolling(window=3).var(ddof=0) print(res)

Результат выполнения кода:

0 NaN 1 NaN 2 0.666667 3 0.666667 4 0.666667 dtype: float64

Пример

Вычислим скользящую дисперсию для всех числовых столбцов в таблице:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.rolling(window=3).var() print(res)

Результат выполнения кода:

a b 0 NaN NaN 1 NaN NaN 2 1.0 100.0 3 1.0 100.0 4 1.0 100.0

Пример

Используем параметр min_periods для минимального количества значений в окне:

import pandas as pd ser = pd.Series([1, 2, 3, 4, 5]) res = ser.rolling(window=3, min_periods=2).var() print(res)

Результат выполнения кода:

0 NaN 1 0.500000 2 1.000000 3 1.000000 4 1.000000 dtype: float64

Пример

Применим скользящую дисперсию с центрированием окна:

import pandas as pd ser = pd.Series([1, 2, 3, 4, 5]) res = ser.rolling(window=3, center=True).var() print(res)

Результат выполнения кода:

0 NaN 1 1.0 2 1.0 3 1.0 4 NaN dtype: float64

Смотрите также

  • метод mean,
    который вычисляет скользящее среднее
  • метод std,
    который вычисляет скользящее стандартное отклонение
  • метод sum,
    который вычисляет скользящую сумму
  • метод median,
    который вычисляет скользящую медиану
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить