Skip to main content
 首页 » 编程设计

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

2025年05月04日18tintown

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

a = np.array([2,3,4,3,4,4,5,3,2,3,4]) 

和

b = np.array([1,1,1,1,1,2,23,2,3,3,3]) 

和

c = np.array([]) 

想要结果

c = [[2,3,4,3,4,4,5,3,2,3,4], 
     [1,1,1,1,1,2,23,2,3,3,3]] 

所以如果我执行 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)]

你有什么想法吗?

请您参考如下方法:

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

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

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