Spec-Zone.ru › NumPy 1.19

numpy.nanstd

numpy.nanstd(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>) [source]

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

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

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

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

Параметры
aarray_like

Вычислить стандартное отклонение ненулевых значений.

axis{int, tuple of int, None}, optional

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

dtypedtype, optional

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

outndarray, optional

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

ddofint, optional

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

keepdimsbool, optional

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

Если это значение отличается от значения по умолчанию, оно передается как есть соответствующим функциям подклассов. Если у этих функций нет keepdims параметра, будет поднята ошибка RuntimeError.

Возвращает
standard_deviationndarray, see dtype parameter above.

Если out равно None, возвращается новый массив, содержащий стандартное отклонение, в противном случае возвращается ссылка на выходной массив. Если ddof больше или равен числу элементов без NaN в срезе или срез содержит только NaN, то результат для этого среза равен NaN.

См. также

var, mean, std, nanvar, nanmean, ufuncs-output-type

Примечания

Стандартное отклонение — это квадратный корень из среднего значения квадратов отклонений от среднего значения: std = sqrt(mean(abs(x - x.mean())**2)).

Среднее значение квадрата отклонения обычно вычисляется как x.sum() / N, где N = len(x). Однако, если указано ddof, в качестве делителя используется N - ddof. В стандартной статистической практике ddof=1 предоставляет несмещённую оценку дисперсии бесконечной совокупности. ddof=0 предоставляет оценку максимального правдоподобия дисперсии для нормально распределенных переменных. Стандартное отклонение, вычисленное в этой функции, является квадратным корнем из оценочной дисперсии, поэтому даже с ddof=1, это не будет несмещённой оценкой стандартного отклонения.

Обратите внимание, что для комплексных чисел std берёт абсолютное значение перед возведением в квадрат, так что результат всегда вещественный и неотрицательный.

Для чисел с плавающей точкой std вычисляется с той же точностью, что и входные данные. В зависимости от входных данных это может привести к неточным результатам, особенно для float32 (см. пример ниже). Использование аккумулятора с более высокой точностью с помощью ключевого слова dtype может устранить эту проблему.

Примеры

>>> a = np.array([[1, np.nan], [3, 4]])
>>> np.nanstd(a)
1.247219128924647
>>> np.nanstd(a, axis=0)
array([1., 0.])
>>> np.nanstd(a, axis=1)
array([0.,  0.5]) # may vary

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.nanstd.html

Spec-Zone.ru

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