我想对以下函数进行矢量化。参数是 numpy 数组。
def euclidean_distance(dl, dr):
return math.sqrt(((dl - dr) ** 2).sum())
我执行以下操作
v_u = numpy.vectorize(euclidean_distance)
我正在做以下电话
v_u(numpy.array([[10, 20, 30], [4, 5, 6]]), numpy.array([1, 2, 3]))
我想要的是得到一个包含 with 的欧几里德距离的[1, 2, 3]
数组[10, 20, 30], [4, 5, 6]
。
我想我错过了一些明显的东西。
编辑:
以下是我得到的错误
AttributeError: 'int' object has no attribute 'sum'
很明显,dl
并且dr
作为单个元素而不是作为数组传递......所以我想知道是否有人可以纠正它以便它在数组上运行。
非常感谢