Spec-Zone.ru › NumPy 1.12

numpy.nanvar

numpy.nanvar(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<class numpy._globals._NoValue at 0x40b6a26c>) [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.12.0/reference/generated/numpy.nanvar.html

Spec-Zone.ru

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