1

是否可以使用 numpy 或其他方法在 Python 中合并 2D 数组?我有大约 200 个二维数组,它们都具有相同的维度 (1024,256),并且希望将它们添加到彼此的下端。添加例如 3 个之后的最终形状应该是 (1024,768)。

4

2 回答 2

7

(1024,256) 的三个数组必须附加到右端,而不是下端。您将它们水平堆叠在一起(1024 行,256 列)。

使用numpy.hstackh作为水平):

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 回答