Spec-Zone.ru › NumPy 2.0

numpy.nanstd

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

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

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

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

Добавлена в версии 1.8.0.

Параметры:
aarray_like

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

axis{int, кортеж из целых чисел, None}, необязательно

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

dtypedtype, необязательно

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

outndarray, необязательно

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

ddof{int, float}, необязательно

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

keepdimsbool, необязательно

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

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

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

Элементы, которые следует включить в стандартное отклонение. Подробнее см. reduce.

Добавлена в версии 1.22.0.

meanarray_like, необязательно

Укажите среднее значение, чтобы избежать его перерасчёта. Среднее значение должно иметь форму, как если бы оно было вычислено с keepdims=True. Ось для вычисления среднего значения должна быть такой же, как и использованная в вызове этой функции std.

Добавлена в версии 1.26.0.

correction{int, float}, необязательно

Совместимое с API массивов имя параметра ddof. Одновременно можно указать только один из них.

Добавлена в версии 2.0.0.

Возвращает:
standard_deviationndarray, см. параметр dtype выше.

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

См. также

var, mean, std
nanvar, nanmean
Определение типа результата

Примечания

Стандартное отклонение — это квадратный корень из среднего значения квадратов отклонений от среднего: 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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.nanstd.html

Spec-Zone.ru

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