Есть несколько способов добиться этого.Один использует np.dot
, обратите внимание, что необходимо будет ввести в B
вторую ось, чтобы оба ndarrays
можно было умножить:
C = np.dot(A,B[:,None])
print(C.shape)
# (3, 5, 4)
Используя np.multiply.outer
, как предлагает @divakar:
C = np.multiply.outer(A,B)
print(C.shape)
# (3, 5, 4)
Или вы также можете использовать np.einsum
:
C = np.einsum('ij,kl->ikl', A, B)
print(C.shape)
# (3, 5, 4)