是否可以使用 numpy 或其他方法在 Python 中合并 2D 数组?我有大约 200 个二维数组,它们都具有相同的维度 (1024,256),并且希望将它们添加到彼此的下端。添加例如 3 个之后的最终形状应该是 (1024,768)。
问问题
4449 次
2 回答
7
(1024,256) 的三个数组必须附加到右端,而不是下端。您将它们水平堆叠在一起(1024 行,256 列)。
使用numpy.hstack
(h作为水平):
lst
是(numpy 或 python)数组的列表(1024,256)
:
numpy.hstack(lst)
返回单个 numpy 数组(1024,256*len(lst))
于 2012-07-05T08:18:17.627 回答
0
确实很简单,只要所有数组的大小相同。
>>> a = [[0,1,2],[3,4,5]]
>>> b = [[6,7,8],[9,10,11]]
>>> c = [a[i]+b[i] for i in xrange(len(a))]
>>> c
[[0, 1, 2, 6, 7, 8], [3, 4, 5, 9, 10, 11]]
或更好
sum2darray = lambda a, b: [a[i]+b[i] for i in xrange(len(a))]
c = sum2darray(a,b)
于 2012-07-05T08:36:20.550 回答