Spec-Zone.ru › NumPy 1.13

numpy.nanvar

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

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

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

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

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

Параметры:

a : array_like

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

axis : int, необязательно

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

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

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

out : ndarray, необязательно

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

ddof : int, необязательно

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

keepdims : bool, необязательно

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

Возвращает:

variance : ndarray, см. параметр dtype выше

Если 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])

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.nanvar.html

Spec-Zone.ru

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