Введение
В этом практическом занятии мы рассмотрим функцию numpy.std() библиотеки NumPy. Мы узнаем, что означает стандартное отклонение, и научимся использовать numpy.std() для вычисления стандартного отклонения массива.
Советы по работе с ВМ
После запуска виртуальной машины кликните в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Понимание стандартного отклонения
Стандартное отклонение - это мера количества вариации или разброса набора значений. Математически стандартное отклонение определяется как квадратный корень из среднего арифметического квадратов отклонений от среднего значения. Посмотрим на формулу стандартного отклонения:
$$std = \sqrt{\frac{\sum_{i=1}^{n} (x_i-\bar{x})^2}{n}}$$
Здесь $\bar{x}$ - это среднее значение элементов массива, $x_i$ - i-й элемент массива, а $n$ - количество элементов в массиве.
Синтаксис numpy.std()
Синтаксис, необходимый для использования функции numpy.std(), следующий:
numpy.std(a, axis=None, dtype=None, out=None)
Параметры
a: Входной массивaxis: Ось, по которой вычисляется стандартное отклонение. По умолчанию вычисляется для сглаженного массива.dtype: Желаемый тип данных возвращаемого результатаout: Выходной массив, в котором хранится результат.
Возвращает
Возвращает стандартное отклонение массива или массив со значениями стандартного отклонения вдоль указанной оси.
Пример
Рассмотрим простой пример использования numpy.std().
import numpy as np
## create 2D array
a = np.array([[11, 2], [13, 44]])
print("The array is:\n",a)
## calculate standard deviation of flattened array
print("Standard Deviation is :")
print(np.std(a))
## calculate standard deviation along axis 0
print("Standard Deviation along axis 0:")
print(np.std(a, axis=0))
## calculate standard deviation along axis 1
print("Standard Deviation along axis 1:")
print(np.std(a, axis=1))
Результат:
The array is:
[[11 2]
[13 44]]
Standard Deviation is :
15.850867484147358
Standard Deviation along axis 0:
[ 1. 21.]
Standard Deviation along axis 1:
[ 4.5 15.5]
Точность
Рассмотрим пример, в котором мы можем указать тип данных для вывода.
import numpy as np
inp = [22, 2, 17, 11, 34]
print("The input array is : ")
print(inp)
## calculate standard deviation
print("The standard deviation of the Input Array is: ")
print(np.std(inp))
## get more precision with float 32
print("\nTo get More precision with float32")
print("Thus std of array is : ", np.std(inp, dtype=np.float32))
## get more accuracy with float 64
print("\nTo get More accuracy with float64")
print("The std of array is : ", np.std(inp, dtype=np.float64))
Результат:
The input array is:
[22, 2, 17, 11, 34]
The standard deviation of the Input Array is:
10.721940122944167
To get More precision with float32
Thus std of array is : 10.72194
To get More accuracy with float64
The std of array is: 10.721940122944167
Примечание: Для более точного вычисления стандартного отклонения используется dtype float64.
Резюме
В этом практическом занятии мы изучили функцию numpy.std(), которая используется для вычисления стандартного отклонения массива вдоль указанной оси. Кроме того, мы поняли синтаксис numpy.std() и различные параметры, которые можно передавать. Наконец, мы рассмотрели несколько примеров, чтобы понять, как работает numpy.std().