使用np.array([])withhstack对我有用。
In [11]: a = array([], dtype=int)
In [12]: b = array([10, 20])
In [13]: c = array([30, 40])
In [14]: a = hstack((a,b))
In [15]: a
Out[15]: array([10, 20])
In [16]: a = hstack((a,c))
In [17]: a
Out[17]: array([10, 20, 30, 40])
对于vstack,初始的形状a需要一些调整以使其具有形状 (0,2):
In [22]: a = array([], dtype=int).reshape(-1,2)
In [23]: a
Out[23]: array([], shape=(0, 2), dtype=int64)
In [24]: b
Out[24]: array([10, 20])
In [25]: c
Out[25]: array([30, 40])
In [26]: a = vstack((a,b))
In [27]: a
Out[27]: array([[10, 20]])
In [28]: a = vstack((a,c))
In [29]: a
Out[29]:
array([[10, 20],
[30, 40]])
请注意,我dtype=int在创建初始值时使用了a. 没有这个,它使用默认的 dtype float,然后当aedhstack或vstacked withb时,结果向上转换为 float。