numpy.nanvar#

numpy.nanvar(a, axis=None, dtype=None, out=None, ddof=0, keepdims= значение>, *, where= значение>, mean=<нет значение>, correction= значение>)[источник]#

Вычислить дисперсию вдоль указанной оси, игнорируя значения NaN.

Возвращает дисперсию элементов массива, меру разброса распределения. Дисперсия вычисляется для сведенного массива по умолчанию, иначе по указанной оси.

Для всех срезов NaN или срезов с нулевыми степенями свободы возвращается NaN и RuntimeWarning вызывается исключение.

Параметры:
aarray_like

Массив, содержащий числа, для которых требуется дисперсия. Если a не является массивом, выполняется попытка преобразования.

ось{int, tuple of int, None}, optional

Ось или оси, вдоль которых вычисляется дисперсия. По умолчанию вычисляется дисперсия сведённого массива.

dtypeтип данных, опционально

Тип для использования при вычислении дисперсии. Для массивов целочисленного типа по умолчанию используется float64; для массивов типов с плавающей точкой это то же самое, что и тип массива.

выходndarray, необязательно

Альтернативный выходной массив для размещения результата. Он должен иметь ту же форму, что и ожидаемый вывод, но тип приводится, если необходимо.

ddof{int, float}, опционально

“Дельта степеней свободы”: делитель, используемый в вычислении, это N - ddof, где N представляет количество элементов, не являющихся NaN. По умолчанию ddof равно нулю.

keepdimsbool, необязательно

Если установлено значение True, оси, которые были сокращены, остаются в результате как измерения с размером один. С этой опцией результат будет корректно транслироваться против исходного a.

гдеarray_like из bool, необязательный

Элементы для включения в дисперсию. См. reduce для подробностей.

Новое в версии 1.22.0.

meanarray_like, необязательный

Предоставьте среднее значение, чтобы предотвратить его пересчёт. Среднее должно иметь форму, как если бы оно было вычислено с помощью keepdims=True. Ось для вычисления среднего должна быть той же, что использовалась при вызове этой функции var.

Новое в версии 2.0.0.

коррекция{int, float}, опционально

Совместимое с Array API имя для ddof параметр. Только один из них может быть предоставлен одновременно.

Новое в версии 2.0.0.

Возвращает:
дисперсияndarray, см. параметр dtype выше

Если выход равно None, вернуть новый массив, содержащий дисперсию, иначе вернуть ссылку на выходной массив. Если ddof >= количеству не-NaN элементов в срезе или срез содержит только NaN, то результат для этого среза — NaN.

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

std

Стандартное отклонение

mean

Среднее

var

Дисперсия без игнорирования NaN

nanstd, nanmean
Определение типа вывода

Примечания

Дисперсия — это среднее квадратов отклонений от среднего значения, т.е., var = mean(abs(x - x.mean())**2).

Среднее значение обычно вычисляется как x.sum() / N, где N = len(x). Однако, если ddof указан, делитель N - ddof используется вместо. В стандартной статистической практике, ddof=1 предоставляет несмещённую оценку дисперсии гипотетической бесконечной популяции. ddof=0 предоставляет оценку максимального правдоподобия дисперсии для нормально распределенных переменных.

Обратите внимание, что для комплексных чисел абсолютное значение берется до возведения в квадрат, так что результат всегда вещественный и неотрицательный.

Для входных данных с плавающей точкой дисперсия вычисляется с той же точностью, что и входные данные. В зависимости от входных данных это может привести к неточным результатам, особенно для float32 (см. пример ниже). Указание аккумулятора с более высокой точностью с помощью dtype ключевое слово может смягчить эту проблему.

Чтобы эта функция работала с подклассами ndarray, они должны определять sum с аргументом keepdims

Примеры

>>> import numpy as np
>>> a = np.array([[1, np.nan], [3, 4]])
>>> np.nanvar(a)
1.5555555555555554
>>> np.nanvar(a, axis=0)
array([1.,  0.])
>>> np.nanvar(a, axis=1)
array([0.,  0.25])  # may vary