Spec-Zone.ru › NumPy 1.17

numpy.nanvar

numpy.nanvar(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>) [source]

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

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

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

Введено в версии 1.8.0.

Параметры:
a : array_like

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

axis : {int, tuple of int, None}, optional

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

dtype : data-type, optional

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

out : ndarray, optional

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

ddof : int, optional

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

keepdims : bool, optional

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

Возвращает:
variance : ndarray, see dtype parameter above

Если out равно None, возвращается новый массив, содержащий дисперсию; в противном случае возвращается ссылка на массив вывода. Если ddof больше или равен количеству элементов без NaN в срезе или срез содержит только NaN, то результат для этого среза – NaN.

См. также

std
Стандартное отклонение
mean
Среднее значение
var
Дисперсия без игнорирования NaN

nanstd, nanmean

numpy.doc.ufuncs
Раздел «Аргументы вывода»

Примечания

Дисперсия — это среднее значение квадратов отклонений от среднего, т.е., 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

Примеры

>>> 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

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.nanvar.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API