Я пытаюсь реализовать векторизацию для ответа на этот вопрос
Самый быстрый способ получить расстояние Хэмминга для целочисленного массива
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)
Я хочу передать 2d-массив в качестве первого параметра, например
a = [[127,255], [127,255]]
b = [127,240]
hamming_distance_v1(a, b) -> [4,4]
Если в качестве первого аргумента используется массив 2d, возвращается следующая ошибка:
ValueError: unable to broadcast argument 1 to output array
Есть ли способ реализовать векторизацию для текущей реализации расстояния Хэмминга или какие-то другие способы подсчета этого расстояния между массивами 2d и 1d?