【问题标题】:Combine multiple arrays into a single nested array in Python将多个数组组合成 Python 中的单个嵌套数组
【发布时间】:2023-01-26 02:02:21
【问题描述】:

我想将 N 个形状 (I, J) 的数组组合成一个形状 (I, J, N) 的数组,使得最终数组中 (i, j, n) 处的值等于(i, j) 处的第 n 个数组。

例如,假设我有两个数组:

arr1 = [[2,3,4],
        [3,4,5]]

arr2 = [[3,4,2],
         [4,3,5]]

那么最终的数组看起来像:

arr_final == [[[2,3], [3,4], [4,2]], 
              [[3,4], [4,3], [5,5]]]

或者,举一个更直接的例子:

arr1 = [[0,0,0],
        [0,0,0]]

arr2 = [[1,1,1],
         [1,1,1]]

arr3 = [[2,2,2],
         [2,2,2]]

那么最终的数组看起来像:

arr_final == [[[0,1,2], [0,1,2], [0,1,2]], 
              [[0,1,2], [0,1,2], [0,1,2]]]

Python 中是否有一个函数,或者更具体地说是 Numpy,可以帮助我解决这个问题?

【问题讨论】:

    标签: python arrays numpy matrix


    【解决方案1】:

    在 Numpy 中,您可以使用 numpy.stack。请记住将轴指定为 -1,以便根据您的问题正确组合它。

    import numpy as np
    arr_final = np.stack([arr1, arr2], axis=-1)
    

    会产生

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-29
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-19
      相关资源
      最近更新 更多