Spec-Zone.ru › NumPy 1.21

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, кортеж из целых чисел, None}, необязательно

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

dtypeтип данных, необязательно

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

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

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

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

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

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

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

Возвращает
variancendarray, см. параметр dtype выше

Если out равно 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

Примеры

>>> 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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.nanvar.html

Spec-Zone.ru

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