-1

我有一个参考价值:

ref = 0.5

和一个清单:

my_list = [0.4, 0.5, 0.6, 0.5]

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

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

4

3 回答 3

1
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) )
于 2019-07-31T16:23:24.687 回答
1

你可以使用 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
于 2019-07-31T16:26:40.967 回答
0

对于精益方法,尽可能使用 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
于 2019-07-31T16:31:52.367 回答