Я хотел бы использовать что-то вроде np.dot
или (желательно) np.einsum
для эффективной работы с ними, но с альтернативным ufunc
вместо np.multiply
. Например, рассмотрим эти два массива:numpy dot или einsum с произвольным оператором
>>> a
array([[0, 1],
[1, 1],
[1, 0]])
>>> b
array([[0, 0],
[1, 0],
[1, 0],
[0, 0]])
Теперь предположим, что я хочу, чтобы подсчитать количество элементов в каждой строке a
равной соответствующих элементов в каждой строке b
. Я хотел бы быть в состоянии сделать эквивалент следующего (примечание: ниже выход изготовлен, но значения то, что я ожидал увидеть):
>>> np.dot(a, b.T, ufunc=np.equal)
array([[1, 0, 0, 1],
[0, 1, 1, 0],
[1, 2, 2, 1]])
Есть ли способ сделать это?
Будут ли массивы всегда иметь '' '' '' '' '' '' '' только? – Divakar
В моем конкретном случае, да. Но мне интересен и ответ на более общий случай. – bogatron