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