Python连接不同大小的数组

时间:2019-06-21 14:30:39

标签: python arrays concatenation

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

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

这些文件的数字格式为[#,5,5,1],其中每个变量和数字的#均不同。但是,我想创建一个所有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数组并进行串联,但是错误是“除串联轴外的所有输入数组维必须完全匹配”。正确,甚至更简单的方法是什么?

1 个答案:

答案 0 :(得分:0)

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)