Spec-Zone.ru › NumPy 1.14

numpy.nanstd

numpy.nanstd(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<class 'numpy._globals._NoValue'>) [source]

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

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

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

Введено в версии 1.8.0.

Параметры:

a : array_like

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

axis : int, необязательно

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

dtype : dtype, необязательно

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

out : ndarray, необязательно

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

ddof : int, необязательно

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

keepdims : bool, необязательно

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

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

Возвращает:

standard_deviation : ndarray, см. параметр dtype выше.

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

См. также

var, mean, std, nanvar, nanmean

numpy.doc.ufuncs
Раздел «Аргументы вывода»

Примечания

Стандартное отклонение является квадратным корнем из среднего значения квадратов отклонений от среднего: 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])

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

Spec-Zone.ru

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