Spec-Zone.ru › NumPy 1.16

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.var(a)
1.5555555555555554
>>> np.nanvar(a, axis=0)
array([ 1.,  0.])
>>> np.nanvar(a, axis=1)
array([ 0.,  0.25])

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

Spec-Zone.ru

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