Spec-Zone.ru › NumPy 2.0

numpy.nanvar

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

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

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

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

Добавлена в версии 1.8.0.

Параметры:
aarray_like

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

axis{int, кортеж из целых чисел, None}, необязательно

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

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

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

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

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

ddof{целое число, число с плавающей точкой}, необязательно

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

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

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

wherearray_like булевых значений, необязательно

Элементы, которые следует включить в дисперсию. Подробности см. в reduce.

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

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

Укажите среднее значение, чтобы избежать его перерасчёта. Среднее значение должно иметь форму, как если бы оно было вычислено с помощью keepdims=True. Ось для вычисления среднего значения должна быть такой же, как используемая в вызове этой функции var.

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

correction{целое число, число с плавающей точкой}, необязательно

Имя API массива для параметра ddof . Одновременно можно предоставить только один из них.

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

Возвращаемое значение:
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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.nanvar.html

Spec-Zone.ru

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