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.
Параметры: -
a : array_like -
Вычислить стандартное отклонение значений без NaN.
-
axis : {int, tuple of int, None}, optional -
Ось или оси, по которым вычисляется стандартное отклонение. По умолчанию вычисляется стандартное отклонение уплощенного массива.
-
dtype : dtype, optional -
Тип, используемый для вычисления стандартного отклонения. Для массивов целого типа по умолчанию используется float64, для массивов с плавающей запятой — тот же тип, что и в массиве.
-
out : ndarray, optional -
Альтернативный выходной массив, в который следует поместить результат. Он должен иметь ту же форму, что и ожидаемый результат, но тип (вычисленных значений) будет преобразован при необходимости.
-
ddof : int, optional -
Означает степень свободы. Делитель, используемый в расчетах, это
N - ddof, гдеN— количество элементов без NaN. По умолчаниюddofравно нулю. -
keepdims : bool, optional -
Если установлено в True, оси, по которым выполняется сокращение, остаются в результате в виде измерений с размером один. С этим параметром результат корректно транслируется с исходным
a.Если это значение отличается от значения по умолчанию, оно передается как есть соответствующим функциям подклассов. Если у этих функций нет параметра
keepdims, будет поднята ошибка RuntimeError.
Возвращает: -
standard_deviation : ndarray, see dtype parameter above. -
Если
outравно None, возвращается новый массив, содержащий стандартное отклонение, в противном случае возвращается ссылка на выходной массив. Если ddof больше или равен количеству элементов без NaN в слайсе или слайс содержит только NaN, то результат для этого слайса будет NaN.
Примечания
Стандартное отклонение — это квадратный корень из среднего значения квадратов отклонений от среднего значения:
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.16.1/reference/generated/numpy.nanstd.html