numpy.std()

Функция np.std вычисляет стандартное отклонение элементов массива — корень из дисперсии. Это мера разброса значений вокруг среднего. По умолчанию используется смещённая оценка (ddof=0), для несмещённой выборочной задайте ddof=1.

Сигнатура

numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=False)

Параметры

  • a — входной массив.

  • axis — ось вычисления (None — по всем элементам).

  • ddof — поправка степеней свободы (0 — для генеральной совокупности, 1 — для выборки).

  • keepdims — сохранять ли размерности.

Возвращаемое значение

Скаляр или массив со стандартными отклонениями.

Примеры

Пример 1. Стандартное отклонение по всем элементам.

import numpy as np

a = np.array([2, 4, 4, 4, 5, 5, 7, 9])
print(np.std(a))
2.0

Пример 2. Шум показаний АЦП.

adc = np.array([512, 510, 514, 511, 513, 512, 509])
print(round(np.std(adc), 4))
1.5584

Пример 3. Std по столбцам матрицы.

m = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])
print(np.std(m, axis=0))
[2.44948975 2.44948975 2.44948975]

Пример 4. Выборочное std (ddof=1).

sample = np.array([10, 12, 11, 13, 14])
print("Генеральная:", round(np.std(sample), 4))
print("Выборочная:", round(np.std(sample, ddof=1), 4))
Генеральная: 1.4142
Выборочная: 1.5811

Пример 5. Контроль качества: датчик стабилен, если std < порога.

readings = np.array([100, 101, 99, 100, 100, 102, 98])
if np.std(readings) < 2.0:
    print("Датчик стабилен")
else:
    print("Шумит")
Датчик стабилен

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.