, скажем, у меня есть два массива numpy a = (n x m)
и b = (z x m)
, где столбцы m являются некоторым общим идентификатором.Слияние двух массивов по столбцу
a = np.array([[1, 0, 0, 1], [0, 1, 0, 1], [0, 0, 0, 1], [1, 1, 0, 1]])
b = np.array([[1, 0, 0, 1], [1, 1, 0, 1], [0, 1, 1, 0]])
есть ли NumPy-иш способ получить c = (n x z)
где c_ij = 1 if (any element in (row i of a AND row j of b) is equal to 1) else 0
без петель, так что в этом случае
c = np.array([[1, 1, 0], [1, 1, 1], [1, 1, 0], [1, 1, 1]])
Вы можете разместить версию на основе цикла этого, который возвращает тот же результат? –