你可以使用以下三种方法之一在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
请注意,这三种方法都计算出了相同的列表标准差值。