计算两个 numpy 数组的残差的最有效方法是什么?
我用下一种方式来做:
def residuals(array1, array2):
sum = 0.
for i in xrange(len(lane1)):
sum += (lane1[i] - lane2[i])**2
return sum
我想知道是否还有其他更好的解决方案?
最佳答案
是的,请注意,您可以直接对数组执行数学运算,并且它们是按元素应用的:
>>> import numpy as np
>>> arr1 = np.array((1, 2, 3))
>>> arr2 = np.array((4, 5, 6))
# differences
>>> arr1 - arr2
array([-3, -3, -3])
# squared differences
>>> (arr1 - arr2) ** 2
array([9, 9, 9])
# sum of squared differences
>>> np.sum((arr1 - arr2) ** 2)
27
关于Python:快速残差计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32884849/