【问题标题】:Python concatenate with different size arraysPython连接不同大小的数组
【发布时间】:2019-06-21 14:30:39
【问题描述】:

我有一个文件夹,里面有几个不同的变量名,以及几个不同的描述符。例如:

 A1, B1, C1, A2, B2, C2, A3, B3, C3, ...

这些文件具有 [#, 5, 5 ,1] 的 numpy 形状,其中每个变量和数字的 # 将不同。但是,我想创建一个所有 A、B 和 C 的主数组,它们已被连接。

一个例子是:

 A1.shape = [1426,5,5,1]
 A2.shape = [1322,5,5,1]
 A3.shape = [1112,5,5,1]
 1426 + 1322 + 1112 = 3860
 allA.shape = [3860,5,5,1]

我尝试了几种不同的方法,包括将“allA”预分配为一个空的 numpy 数组并进行连接,但错误是“除了连接轴之外的所有输入数组维度必须完全匹配”。什么是正确的,甚至更简单的方法?

【问题讨论】:

    标签: python arrays concatenation


    【解决方案1】:

    numpy.concatenate 在这种情况下应该可以正常工作。

    import numpy as np
    
    a = np.zeros((10, 5, 5, 1))
    b = np.zeros((15, 5, 5, 1))
    c = np.zeros((20, 5, 5, 1))
    
    res = np.concatenate((a, b, c), axis=0)  # concatenation
    
    print(res.shape)  # (45, 5, 5, 1)
    

    【讨论】:

      猜你喜欢
      • 2021-08-11
      • 2019-05-24
      • 2021-06-07
      • 2019-08-04
      • 1970-01-01
      • 2018-11-10
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多