Python:快速残差计算

时间:2015-10-01 10:08:11

标签: python math numpy

计算两个numpy数组残差的最有效方法是什么?

我正在以下一种方式这样做:

def residuals(array1, array2):
sum = 0.
for i in xrange(len(lane1)):
    sum += (lane1[i] - lane2[i])**2
return sum

我想知道是否还有其他更好的解决方案?

1 个答案:

答案 0 :(得分:4)

是的,请注意,您可以直接在数组上执行数学运算,并且它们是按元素应用的:

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