Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 列表与参考值的偏差_Python_List_Standard Deviation_Deviation - Fatal编程技术网

Python 列表与参考值的偏差

Python 列表与参考值的偏差,python,list,standard-deviation,deviation,Python,List,Standard Deviation,Deviation,我得到了一个参考值: ref = 0.5 和一份清单: my_list = [0.4, 0.5, 0.6, 0.5] 我试图计算列表中的元素与参考值的平均差异。基本上,它与标准偏差相同,但不是与列表的平均值进行比较,而是与我的参考值进行比较 在Python中如何才能最有效地实现这一点?知道我的列表很大。您可以使用numpy: import math ref = 0.5 my_list = [0.4, 0.5, 0.6, 0.5] std_ = math.sqrt( sum( [(x-ref)

我得到了一个参考值:

ref = 0.5
和一份清单:

my_list = [0.4, 0.5, 0.6, 0.5]
我试图计算列表中的元素与参考值的平均差异。基本上,它与标准偏差相同,但不是与列表的平均值进行比较,而是与我的参考值进行比较

在Python中如何才能最有效地实现这一点?知道我的列表很大。

您可以使用numpy:

import math
ref = 0.5
my_list = [0.4, 0.5, 0.6, 0.5]
std_ = math.sqrt( sum( [(x-ref)**2  for x in my_list] ) / len(my_list) )
import numpy as np
my_list = [0.4, 0.5, 0.6, 0.5]
ref = 0.5

my_array = np.array(my_list)
sd = np.sqrt(np.mean((my_array - ref)**2))
print(sd) #prints 0.07071067811865474

对于精益方法,尽可能使用numpy:

import numpy as np

my_list = [0.4, 0.5, 0.6, 0.5]
ML = np.array(my_list)

myVal = 0.555

r1 = ML - myVal
r2 = np.sqrt(r1**2)
r3 = np.sum(r2)

print('r1:', r1)
print('r2:', r2)
print('r3:', r3)

r1: [-0.155 -0.055  0.045 -0.055]
r2: [0.155 0.055 0.045 0.055]
r3: 0.31000000000000005

你的问题模棱两可。你想要平均距离还是平方平均距离?这些不是同一件事。我在寻找列表中变量与参考值的平方偏差的根平均值-正如我所说的,就像标准偏差一样,我认为
variance
not
std
@Poojan的公式不是标准Python库模块之一,但它已经成为科学计算标准Python工具链的一部分。您需要安装它(或者使用像Anaconda发行版这样的软件)。还有,你是对的,我忘了在最后取平方根。谢谢