Spec-Zone.ru › NumPy 1.18

numpy.nanvar

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

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

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

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

Новая в версии 1.8.0.

Параметры
aarray_like

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

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

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

dtypedata-type, optional

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

outndarray, optional

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

ddofint, optional

«Delta Degrees of Freedom»: делитель, используемый при вычислении, равен N - ddof, где N представляет количество элементов без NaN. По умолчанию ddof равно нулю.

keepdimsbool, optional

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

Возвращает
variancendarray, see dtype parameter above

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

См. также

std

Среднее квадратическое отклонение

mean

Среднее арифметическое

var

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

nanstd, nanmean, ufuncs-output-type

Примечания

Дисперсия — это среднее значение квадратов отклонений от среднего значения, т.е. 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.nanvar.html

Spec-Zone.ru

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