列表与参考值的偏差

Deviation of a list from a reference value

我有参考价值:

ref = 0.5

还有一个列表:

my_list = [0.4, 0.5, 0.6, 0.5]

我正在尝试计算我的列表中的元素与我的参考值平均有多少不同。基本上,它与标准偏差相同,但我不想与列表的平均值进行比较,而是与我的参考值进行比较。

我怎样才能在 Python 中最有效地做到这一点?知道我的名单很大。

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) )

你可以使用 numpy:

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