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