numpy.var()

Функция np.var вычисляет дисперсию — средний квадрат отклонения от среднего. Это квадрат стандартного отклонения. По умолчанию даёт смещённую (генеральную) оценку (ddof=0); для выборочной дисперсии задайте ddof=1.

Сигнатура

numpy.var(a, axis=None, dtype=None, out=None, ddof=0, keepdims=False)

Параметры

  • a — входной массив.

  • axis — ось вычисления.

  • ddof — поправка степеней свободы.

  • keepdims — сохранять ли размерности.

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

Скаляр или массив значений дисперсии.

Примеры

Пример 1. Дисперсия по всем элементам.

import numpy as np

a = np.array([2, 4, 4, 4, 5, 5, 7, 9])
print(np.var(a))
4.0

Пример 2. Дисперсия — это квадрат std.

a = np.array([10, 12, 11, 13, 14])
print(np.var(a))
print(np.std(a)**2)
2.0
2.0000000000000004

Пример 3. Выборочная дисперсия (ddof=1).

sample = np.array([10, 12, 11, 13, 14])
print("ddof=0:", np.var(sample))
print("ddof=1:", np.var(sample, ddof=1))
ddof=0: 2.0
ddof=1: 2.5

Пример 4. Дисперсия показаний АЦП по столбцам.

adc = np.array([[512, 480, 600],
                [510, 482, 605],
                [508, 478, 610],
                [514, 481, 607]])
print(np.round(np.var(adc, axis=0), 4))
[5.    2.1875 13.5  ]

Пример 5. Контроль качества по дисперсии.

batch1 = np.array([100, 100, 101, 99, 100])
batch2 = np.array([90, 110, 100, 95, 105])
print("batch1 var:", np.var(batch1))
print("batch2 var:", np.var(batch2))
batch1 var: 0.4
batch2 var: 50.0

См. также

Примечание

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

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