# numpy - python - 如何向矩阵中添加向量

``````
a=([[1,2,3,.......,10],

[1,2,3,.......,10],

.

.

[13,14,.......,10]]). # this is the 13th row

b=([0,0,0,....0]) # has length 10

``````

``````
z = np.zeros((13, 10))

x = np.zeros((1, 10))

y = np.vstack((z, x))

y.shape

(14, 10)

``````

``````
a = np.random.randint(0,10,(10,13))

print(a.shape)

# (10, 13)

padded = np.pad(a,(((20-a.shape[0]),0),(0,0)), mode = 'constant')

print(padded.shape)

# (20, 13)

print(padded)

array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[3, 6, 6, 2, 2, 7, 8, 6, 6, 8, 2, 8, 3],

[4, 5, 4, 8, 2, 0, 6, 6, 7, 6, 4, 9, 4],

[6, 5, 8, 1, 1, 0, 1, 4, 7, 0, 5, 4, 9],

[9, 0, 1, 3, 3, 9, 8, 2, 0, 4, 9, 4, 4],

[9, 6, 1, 9, 9, 9, 2, 6, 0, 9, 9, 4, 0],

[1, 2, 4, 0, 8, 3, 1, 7, 3, 9, 2, 0, 3],

[5, 5, 4, 0, 6, 7, 0, 1, 7, 0, 3, 2, 1],

[6, 8, 6, 3, 8, 9, 0, 5, 9, 9, 5, 3, 6],

[0, 3, 9, 7, 6, 1, 5, 4, 8, 7, 5, 2, 7],

[8, 3, 4, 0, 2, 7, 4, 3, 2, 7, 1, 3, 9]])

``````

``````
# inputs

In [30]: a

Out[30]:

array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],

[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],

[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],

[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],

[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],

[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],

[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],

[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],

[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])

In [31]: b

Out[31]: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

``````
``````
# initialize a zero array for the desired shape

In [32]: appended = np.zeros((20, b.shape[0]))

# copy `a` to first few rows

In [33]: appended[:a.shape[0], :] = a

# expected output

In [34]: appended

Out[34]:

array([[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],

[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],

[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],

[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],

[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],

[11., 12., 13., 14., 15., 16., 17., 18., 19., 20.],

[11., 12., 13., 14., 15., 16., 17., 18., 19., 20.],

[11., 12., 13., 14., 15., 16., 17., 18., 19., 20.],

[11., 12., 13., 14., 15., 16., 17., 18., 19., 20.],

[11., 12., 13., 14., 15., 16., 17., 18., 19., 20.],

[11., 12., 13., 14., 15., 16., 17., 18., 19., 20.],

[11., 12., 13., 14., 15., 16., 17., 18., 19., 20.],

[11., 12., 13., 14., 15., 16., 17., 18., 19., 20.],

[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],

[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],

[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],

[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],

[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],

[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],

[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])

``````

``````
a = np.ones((13,10))

b = np.zeros(10)

a_pad = np.row_stack((a,b))

a_pad

array([[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],

[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])

``````