将一维数组附加到 Numpy 中的二维数组 Python

Append a 1d array to a 2d array in Numpy Python

我有一个 numpy 二维数组 [[1,2,3]]。 我需要附加一个 numpy 的一维数组,(比如 [4,5,6]),这样它就变成了 [[1,2,3], [4,5,6]]

使用列表很容易做到这一点,您只需在二维列表上调用 append

但是你如何在 Numpy 数组中做到这一点?

np.concatenatenp.append 不起作用。他们出于某种原因将数组转换为一维。

谢谢!

你想要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]])

您可以堆叠多行,条件是除了第一个轴外,数组必须具有相同的形状。

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]])

试试这个:

np.concatenate(([a],[b]),axis=0)

a = np.array([1,2,3])
b = np.array([4,5,6])

那么结果应该是:

array([[1, 2, 3], [4, 5, 6]])