追加/合并2D数组

时间:2012-07-05 08:12:40

标签: numpy 2d append

是否可以使用numpy或其他东西在Python中合并2D数组?我有大约200个2D阵列,都具有相同的尺寸(1024,256),并希望将它们添加到彼此的低端。添加例如最终形状后的形状其中3个应该是(1024,768)。

2 个答案:

答案 0 :(得分:5)

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

使用numpy.hstack h 作为横向):

lst是(numpy或python)数组的列表(1024,256)

numpy.hstack(lst)

返回单个numpy数组(1024,256*len(lst))

答案 1 :(得分: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)