In [1]:
import numpy as np

a = np.random.rand(3, 3);
b = np.random.rand(3, 1);
c = a * b

c.shape
c


Out[1]:
(3, 3)

In [18]:
a = np.random.rand(3, 4);
b = np.random.rand(4, 1);

c = np.zeros(a.shape)
for i in range(3):
    for j in range(4):
        c[i][j] = a[i][j] + b[i]
print(c)

c = a + b.T
print(c)


[[ 1.40629718  1.38121908  1.84216811  1.01377473]
 [ 1.25134035  1.11044429  1.7155195   1.30701795]
 [ 0.7002182   0.5838147   1.01980742  1.30817003]]
[[ 1.40629718  1.21140892  1.41265454  0.30503218]
 [ 1.42115051  1.11044429  1.45581609  0.76808557]
 [ 1.12973177  0.84351811  1.01980742  1.02894106]]

In [ ]: