Spec-Zone.ru › NumPy 1.20

numpy.std

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

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

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

Параметры
aarray_like

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

axisNone or int or tuple of ints, optional

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

Новое в версии 1.7.0.

Если это кортеж целых чисел, то вычисляется стандартное отклонение по нескольким осям вместо одной оси или всех осей, как раньше.

dtypedtype, optional

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

outndarray, optional

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

ddofint, optional

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

keepdimsbool, optional

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

Если передано значение по умолчанию, то keepdims не будет передано методу std подклассов ndarray, однако любое отличное от значения по умолчанию будет. Если метод подкласса не реализует keepdims, будут подняты исключения.

wherearray_like of bool, optional

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

Новое в версии 1.20.0.

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

Если out равно None, возвращает новый массив, содержащий стандартное отклонение, в противном случае возвращает ссылку на массив вывода.

См. также

var, mean, nanmean, nanstd, nanvar
Определение типа вывода

Примечания

Стандартное отклонение — это квадратный корень из среднего значения квадратов отклонений от среднего, т. е. std = sqrt(mean(x)), где x = abs(a - a.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, 2], [3, 4]])
>>> np.std(a)
1.1180339887498949 # may vary
>>> np.std(a, axis=0)
array([1.,  1.])
>>> np.std(a, axis=1)
array([0.5,  0.5])

В одинарной точности std() может быть неточным:

>>> a = np.zeros((2, 512*512), dtype=np.float32)
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.std(a)
0.45000005

Вычисление стандартного отклонения в float64 более точно:

>>> np.std(a, dtype=np.float64)
0.44999999925494177 # may vary

Указание аргумента where:

>>> a = np.array([[14, 8, 11, 10], [7, 9, 10, 11], [10, 15, 5, 10]])
>>> np.std(a)
2.614064523559687 # may vary
>>> np.std(a, where=[[True], [True], [False]])
2.0

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.std.html

Spec-Zone.ru

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