在Numpy Python

时间:2016-02-17 19:55:00

标签: python arrays numpy append

我有一个numpy 2D数组[[1,2,3]]。 我需要在它上面添加一个numpy 1D数组(比如[4,5,6]),以便它变为[[1,2,3], [4,5,6]]

使用列表很容易实现,只需在2D列表中调用追加即可。

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

np.concatenatenp.append无效。他们出于某种原因将数组转换为1D。

谢谢!

2 个答案:

答案 0 :(得分:10)

您需要 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]])

答案 1 :(得分:0)

尝试一下:

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