将数组添加到另一个 Python 的末尾

Neo*_*ets 1 python arrays numpy

我对 python 很陌生,我面临着将几个数组放入另一个数组的任务,这是在一个循环内。所以如果你有

a = np.array([2,3,4,3,4,4,5,3,2,3,4])
Run Code Online (Sandbox Code Playgroud)

b = np.array([1,1,1,1,1,2,23,2,3,3,3])
Run Code Online (Sandbox Code Playgroud)

c = np.array([])
Run Code Online (Sandbox Code Playgroud)

并想要结果

c = [[2,3,4,3,4,4,5,3,2,3,4],
     [1,1,1,1,1,2,23,2,3,3,3]]
Run Code Online (Sandbox Code Playgroud)

所以如果我这样做了,c[0,:]我会[2,3,4,3,4,4,5,3,2,3,4] 尝试使用c = [c, np.array(a)]然后下一次迭代你得到c = [c, np.array(b)] 但我c[0,:]得到了错误消息list indices must be integers not tuples

编辑:

当我打印出来时,c它给出了[array([2,3,4,3,4,4,5,3,2,3,4],dtype = unit8)]

你有什么想法?

Ran*_*ndy 5

In [10]: np.vstack((a,b))
Out[10]:
array([[ 2,  3,  4,  3,  4,  4,  5,  3,  2,  3,  4],
       [ 1,  1,  1,  1,  1,  2, 23,  2,  3,  3,  3]])
Run Code Online (Sandbox Code Playgroud)

编辑:这是在循环中使用它逐步构建矩阵的示例:

In [14]: c = np.random.randint(0, 10, 10)

In [15]: c
Out[15]: array([9, 5, 9, 7, 3, 0, 1, 9, 2, 0])

In [16]: for _ in xrange(10):
   ....:     c = np.vstack((c, np.random.randint(0, 10, 10)))
   ....:

In [17]: c
Out[17]:
array([[9, 5, 9, 7, 3, 0, 1, 9, 2, 0],
       [0, 8, 1, 9, 7, 5, 4, 2, 1, 2],
       [2, 1, 4, 2, 9, 6, 7, 1, 3, 2],
       [6, 0, 7, 9, 1, 9, 8, 5, 9, 8],
       [8, 1, 0, 9, 6, 6, 6, 4, 8, 5],
       [0, 0, 5, 0, 6, 9, 9, 4, 6, 9],
       [4, 0, 9, 8, 6, 0, 2, 2, 7, 0],
       [1, 3, 4, 8, 2, 2, 8, 7, 7, 7],
       [0, 0, 4, 8, 3, 6, 5, 6, 5, 7],
       [7, 1, 3, 8, 6, 0, 0, 3, 9, 0],
       [8, 5, 7, 4, 7, 2, 4, 8, 6, 7]])
Run Code Online (Sandbox Code Playgroud)