2016-09-20 98 views
0

如何将数组追加到numpy数组中?如何在numpy中将数组追加到数组中?

我的代码

na = np.append(na , b, axis = 0) 

其中

na = np.array([], dtype=float) 
b = [1,2,3,4] 

输出:[1,2,3,4]

想要:[[1,2,3,4]]

+0

c = np.atleast_2d(b)再加上检查您的问题侧边栏右侧“相关”部分中提供的许多方法 – NaN

回答

1

有一个将一个阵列连接到另一个阵列的基本功能,np.concatenate,并设置使某些类型的连接更容易一些(但不更快),vstackhstack,column_stack,stack,append。阅读他们的文档。

关键是足够的尺寸必须匹配。您的na已成型(0,)。形状上唯一匹配的就是它本身,其结果就是它本身。

下面是从你的b生产目标(这是effectly一个(4,)阵列的一种方式(检查np.array(b).shape):

In [460]: na=np.zeros((0,4),int) 
In [461]: np.vstack((na, [1,2,3,4])) 
Out[461]: array([[1, 2, 3, 4]]) 

结果是(1,4)一个阵列,您可能已经产生了无连接

In [466]: np.atleast_2d(b) 
Out[466]: array([[1, 2, 3, 4]]) 

研究形状和尺寸多一些,并玩基本concatenate。它很想跳转到使用append或一个stack不了解基本问题。