numpy.nanvar#
-
numpy.nanvar(a, axis=None, dtype=None, out=None, ddof=0, keepdims=
значение> , *, where=значение> , mean=<нет значение>, correction=значение> )[источник]# Вычислить дисперсию вдоль указанной оси, игнорируя значения NaN.
Возвращает дисперсию элементов массива, меру разброса распределения. Дисперсия вычисляется для сведенного массива по умолчанию, иначе по указанной оси.
Для всех срезов NaN или срезов с нулевыми степенями свободы возвращается NaN и RuntimeWarning вызывается исключение.
- Параметры:
- aarray_like
Массив, содержащий числа, для которых требуется дисперсия. Если a не является массивом, выполняется попытка преобразования.
- ось{int, tuple of int, None}, optional
Ось или оси, вдоль которых вычисляется дисперсия. По умолчанию вычисляется дисперсия сведённого массива.
- dtypeтип данных, опционально
Тип для использования при вычислении дисперсии. Для массивов целочисленного типа по умолчанию используется
float64; для массивов типов с плавающей точкой это то же самое, что и тип массива.- выходndarray, необязательно
Альтернативный выходной массив для размещения результата. Он должен иметь ту же форму, что и ожидаемый вывод, но тип приводится, если необходимо.
- ddof{int, float}, опционально
“Дельта степеней свободы”: делитель, используемый в вычислении, это
N - ddof, гдеNпредставляет количество элементов, не являющихся NaN. По умолчанию ddof равно нулю.- keepdimsbool, необязательно
Если установлено значение True, оси, которые были сокращены, остаются в результате как измерения с размером один. С этой опцией результат будет корректно транслироваться против исходного a.
- гдеarray_like из bool, необязательный
Элементы для включения в дисперсию. См.
reduceдля подробностей.Новое в версии 1.22.0.
- meanarray_like, необязательный
Предоставьте среднее значение, чтобы предотвратить его пересчёт. Среднее должно иметь форму, как если бы оно было вычислено с помощью
keepdims=True. Ось для вычисления среднего должна быть той же, что использовалась при вызове этой функции var.Новое в версии 2.0.0.
- коррекция{int, float}, опционально
Совместимое с Array API имя для
ddofпараметр. Только один из них может быть предоставлен одновременно.Новое в версии 2.0.0.
- Возвращает:
- дисперсияndarray, см. параметр dtype выше
Если выход равно None, вернуть новый массив, содержащий дисперсию, иначе вернуть ссылку на выходной массив. Если ddof >= количеству не-NaN элементов в срезе или срез содержит только NaN, то результат для этого среза — NaN.
Смотрите также
Примечания
Дисперсия — это среднее квадратов отклонений от среднего значения, т.е.,
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Примеры
>>> import numpy as np >>> 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