2014-11-21 109 views
2

我想从空的2D NumPy数组开始,然后向它添加一些行。然而,到目前为止,我只能用一维数组做到这一点。这里是我到目前为止已经试过:将行添加到空的2D NumPy数组中

a = numpy.array([]) 
a = numpy.append(a, [1, 2]) 
a = numpy.append(a, [8, 8]) 
print a 

我得到的输出是:

[1, 2, 8, 8] 

而我所要的输出是:

[[1, 2], [8, 8]] 

我怎样才能做到这一点?

+0

http://stackoverflow.com/questions/6667201/how-to-define-two-dimensional-array-in-python – RST 2014-11-21 13:41:27

回答

1
>>> import numpy 
>>> numpy.vstack(([1, 2], [8, 8])) 
array([[1, 2], 
     [8, 8]]) 
+1

'numpy.array(( [1,2],[8,8]))'也会这样做。问题是如何将行添加到最初的空数组中,并且您的代码没有解决这个问题。 – Riyaz 2014-11-21 13:45:27

+1

'vstack'和'append'都使用'concatenate'结束。他们只是在以前如何调整投入方面有所不同。 – hpaulj 2014-11-21 19:33:00

2

试试这个:

>>> a = numpy.empty((0,2),int) 
>>> a = numpy.append(a, [[1, 2]], axis=0) 
>>> a = numpy.append(a, [[8, 8]], axis=0) 
>>> a 
array([[ 1, 2], 
     [ 8, 8]])