Spec-Zone.ru › NumPy 1.18

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.

Parameters
aarray_like

Вычислить стандартное отклонение значений без NaN.

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.

Returns
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 берёт абсолютное значение перед возведением в квадрат, так что результат всегда вещественный и неотрицательный.

Для входных данных с плавающей точкой стандартное отклонение вычисляется с той же точностью, что и входные данные. В зависимости от входных данных это может привести к неточным результатам, особенно для 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.18/reference/generated/numpy.nanstd.html

Spec-Zone.ru

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