Mnożenie elementów w dwóch wektorach nie stanowi problemu, jeśli oba mają ten sam kształt, powiedzmy oba (n, 1) lub oba (n,). Jeśli jeden wektor ma kształt (n, 1) i drugi (n,), to jednak operator zwraca coś śmiesznego.Numpy: Jak elementowo mnożyć dwa wektory, kształt (n, 1) i (n)?
a = np.ones((3,1))
b = np.ones((3,))
print a * b
Powstała macierz nxn zawiera A_ {i, j} = a_i * b_j.
Jak mogę zatem wykonać mnożenie elementowe dla a
i b
?
'a.reshape (-1) * B' lub' a * b.reshape ((- 1 , 1)) 'to inny sposób na zrobienie tego samego. ("-1" oznacza "tyle, ile pasuje do tego kształtu"). – Dougal