Метод std
Метод std класса ndarray вычисляет стандартное отклонение элементов массива. Стандартное отклонение является мерой разброса данных относительно среднего значения. Первым параметром метод принимает ось axis, вдоль которой производится вычисление (по умолчанию вычисляется для всего массива). Вторым параметром dtype можно задать тип данных для вычислений. Третий параметр ddof определяет степень свободы (смещение) при вычислении дисперсии. Четвертый параметр keepdims позволяет сохранить размерность массива.
Синтаксис
arr.std(axis=None, dtype=None, ddof=0, keepdims=False)
Пример
Давайте создадим массив чисел и вычислим стандартное отклонение всех элементов:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = arr.std()
print(res)
Результат выполнения кода:
1.4142135623730951
Пример
Вычислим стандартное отклонение для двумерного массива вдоль строк (по столбцам):
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = arr.std(axis=0)
print(res)
Результат выполнения кода:
[1.5 1.5 1.5]
Пример
Вычислим стандартное отклонение вдоль столбцов (по строкам) для двумерного массива:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = arr.std(axis=1)
print(res)
Результат выполнения кода:
[0.81649658 0.81649658]
Пример
Используем параметр ddof для вычисления стандартного отклонения с другой степенью свободы:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = arr.std(ddof=1)
print(res)
Результат выполнения кода:
1.5811388300841898
Пример
Используем параметр keepdims для сохранения размерности массива:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = arr.std(axis=1, keepdims=True)
print(res)
Результат выполнения кода:
[[0.81649658]
[0.81649658]]
Пример
Зададим тип данных для вычисления стандартного отклонения:
import numpy as np
arr = np.array([1, 2, 3, 4, 5], dtype=np.float32)
res = arr.std(dtype=np.float64)
print(res)
Результат выполнения кода:
1.4142135623730951