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

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

【问题讨论】:

    标签: numpy 2d append


    【解决方案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 个二维数组
    猜你喜欢
    • 2019-05-05
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 2021-11-17
    • 2019-07-18
    • 2013-04-13
    • 2022-07-27
    • 2021-08-10
    相关资源
    最近更新 更多