追加/合并二维数组

Posted

技术标签:

【中文标题】追加/合并二维数组【英文标题】:Appending/Merging 2D Arrays 【发布时间】:2012-07-05 14:52:13 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

使用numpy.hstackh 为水平):

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

numpy.hstack(lst)

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

【讨论】:

非常感谢!一直误解横向的意思!【参考方案2】:

确实很简单,只要所有数组的大小相同。

>>> 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)

【讨论】:

OP:我有大约 200 个二维数组

以上是关于追加/合并二维数组的主要内容,如果未能解决你的问题,请参考以下文章

在二维数组中追加/连接数组

php一维数组如何追加到二维数组

PHP二维数组合并

vue 二维数组合并一维数组

vue 二维数组合并一维数组

vue 二维数组合并一维数组