【发布时间】:2021-01-07 13:47:09
【问题描述】:
我正在尝试实现矢量化来回答这个问题
Fastest way to get hamming distance for integer array
r = (1 << np.arange(64, dtype=np.uint64))[:, None]
def hamming_distance_v2(a, b):
t = np.bitwise_xor(a, b)
p = np.bitwise_and(t, r)
return np.count_nonzero(p != 0)
我想传递一个二维数组作为第一个参数,例如
a = [[127,255], [127,255]]
b = [127,240]
hamming_distance_v1(a, b) -> [4,4]
如果使用二维数组作为第一个参数,则返回以下错误:
ValueError: unable to broadcast argument 1 to output array
有没有办法在当前实现汉明距离的基础上实现矢量化或其他方法来计算 2d 和 1d 数组之间的距离?
【问题讨论】:
标签: python numpy vectorization hamming-distance