Вы можете использовать один из следующих трех методов для вычисления стандартного отклонения списка в Python:
Способ 1: использовать библиотеку NumPy
import numpy as np
#calculate standard deviation of list
np.std( my_list )
Способ 2: использовать библиотеку статистики
import statistics as stat
#calculate standard deviation of list
stat. stdev ( my_list )
Способ 3: использовать пользовательскую формулу
#calculate standard deviation of list
st. stdev ( my_list )
В следующих примерах показано, как использовать каждый из этих методов на практике.
Метод 1: рассчитать стандартное отклонение с помощью библиотеки NumPy
В следующем коде показано, как рассчитать как стандартное отклонение выборки, так и стандартное отклонение совокупности списка с помощью NumPy:
import numpy as np
#define list
my_list = [3, 5, 5, 6, 7, 8, 13, 14, 14, 17, 18]
#calculate sample standard deviation of list
np.std( my_list, ddof= 1 )
5.310367218940701
#calculate population standard deviation of list
np.std( my_list )
5.063236478416116
Обратите внимание, что стандартное отклонение совокупности всегда будет меньше, чем стандартное отклонение выборки для данного набора данных.
Метод 2: расчет стандартного отклонения с использованием библиотеки статистики
В следующем коде показано, как рассчитать как стандартное отклонение выборки, так и стандартное отклонение генеральной совокупности для списка с помощью библиотеки статистики Python:
import statistics as stat
#define list
my_list = [3, 5, 5, 6, 7, 8, 13, 14, 14, 17, 18]
#calculate sample standard deviation of list
stat. stdev (my_list)
5.310367218940701
#calculate population standard deviation of list
stat. pstdev (my_list)
5.063236478416116
Метод 3: расчет стандартного отклонения с использованием пользовательской формулы
В следующем коде показано, как вычислить как стандартное отклонение выборки, так и стандартное отклонение совокупности списка без импорта каких-либо библиотек Python:
#define list
my_list = [3, 5, 5, 6, 7, 8, 13, 14, 14, 17, 18]
#calculate sample standard deviation of list
(sum((x-(sum(my_list) / len(my_list))) \*\* 2 for x in my_list) / (len(my_list)-1)) \*\* 0.5
5.310367218940701
#calculate population standard deviation of list
(sum((x-(sum(my_list) / len(my_list))) \*\* 2 for x in my_list) / len(my_list)) \*\* 0.5
5.063236478416116
Обратите внимание, что все три метода рассчитали одни и те же значения для стандартного отклонения списка.
Дополнительные ресурсы
Как рассчитать стандартную ошибку среднего в Python
Как рассчитать среднеквадратичную ошибку (MSE) в Python