在Numpy Python中将1d数组附加到2d数组

exc*_*tor 11 python arrays numpy append

我有一个numpy二维数组[[1,2,3]].我需要在它上面附加一个numpy 1D数组[4,5,6],以便它成为[[1,2,3], [4,5,6]]

使用列表很容易实现,只需在2D列表中调用append即可.

但你如何在Numpy阵列中做到这一点?

np.concatenate并且np.append不工作.由于某种原因,他们将数组转换为1D.

谢谢!

Pad*_*ham 11

你想要vstack:

In [45]: a = np.array([[1,2,3]])

In [46]: l = [4,5,6]

In [47]: np.vstack([a,l])
Out[47]: 
array([[1, 2, 3],
       [4, 5, 6]])
Run Code Online (Sandbox Code Playgroud)

您可以在以下条件下堆叠多行:除了第一个轴之外,阵列必须具有相同的形状.

In [53]: np.vstack([a,[[4,5,6], [7,8,9]]])
Out[53]: 
array([[1, 2, 3],
       [4, 5, 6],
       [4, 5, 6],
       [7, 8, 9]])
Run Code Online (Sandbox Code Playgroud)

  • 它与hstack的工作方式不同但是... col_vector_to_append = np.column_stack([4,5,6]).需要T (2认同)