列表与参考值的偏差
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
我有参考价值:
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