我有两个一维的NumPy数组X
和Y
。我需要计算每个X
元素和每个Y
元素之间的平均绝对差。朴素的方法是使用嵌套的for
循环:
import numpy as np
np.random.seed(1)
X = np.random.randint(10, size=10)
Y = np.random.randint(10, size=10)
s = 0
for x in X:
for y in Y:
s += abs(x - y)
mean = s / (X.size * Y.size)
#3.4399999999999999
问题:NumPy是否提供了这个解决方案的向量化、更快的版本?
修改后:我需要平均绝对差(始终为非负数)。对于混淆造成的困惑,我感到很抱歉。
np.random.seed(1)
通常是有帮助的 - 这样答案可以精确地复现您的结果。 - Gene Burinsky