Метод var
Метод var класса ndarray вычисляет дисперсию элементов массива.
Дисперсия показывает меру разброса значений относительно среднего арифметического.
Метод может вычислять дисперсию по всему массиву или вдоль заданной оси.
Первым параметром можно передать ось axis, вторым - тип данных dtype.
Также доступен параметр ddof для указания смещения степени свободы.
По умолчанию ddof=0, что соответствует вычислению дисперсии генеральной совокупности.
При ddof=1 вычисляется несмещенная оценка дисперсии для выборки.
Синтаксис
arr.var(axis=None, dtype=None, ddof=0)
Пример
Давайте создадим одномерный массив и вычислим его дисперсию:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = arr.var()
print(res)
Результат выполнения кода:
2.0
Пример
Вычислим дисперсию двумерного массива вдоль разных осей:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res_axis0 = arr.var(axis=0)
res_axis1 = arr.var(axis=1)
print(res_axis0)
print(res_axis1)
Результат выполнения кода:
[2.25 2.25 2.25]
[0.66666667 0.66666667]
Пример
Используем параметр ddof для вычисления несмещенной оценки дисперсии:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res_population = arr.var(ddof=0)
res_sample = arr.var(ddof=1)
print(res_population)
print(res_sample)
Результат выполнения кода:
2.0
2.5
Пример
Вычислим дисперсию с указанием типа данных для повышения точности:
import numpy as np
arr = np.array([1.5, 2.5, 3.5])
res_float32 = arr.var(dtype=np.float32)
res_float64 = arr.var(dtype=np.float64)
print(res_float32)
print(res_float64)
Результат выполнения кода:
0.6666667
0.6666666666666666