在新维度中连接numpy数组

时间:2018-11-13 09:45:36

标签: python arrays numpy

我正在尝试创建2D矩阵,每个数据点都是2D数组。 / 10 \ / |a1_0|a2_0|a3_0|....| |a1_1|..............| 1000 |a1_2|..............| |...................| \ |...................|

其中a1_0a1_1a2_0都是(1025,16)个数组。

据我了解,这意味着我必须使用shape = (10, 1000, 1025, 16)创建一个矩阵。 (请让我知道我是否错了)

我只有a1_0a1_1a2_0 ...

所以我的问题是,如果我必须将2 numpy数组连接到一个新的维中,如何用最有效的方法来连接这些数组?

我尝试过np.vstack()np.concatenate(),但似乎不正确。


我正在使用一个函数将一段音频传输到一个频谱图(是一张图片)中,该函数将返回一个名为spec的变量,它是一个(1025,16)numpy数组

因此,起初我想做:

for a0 ~ a9, concatenate:
   for a1_1 ~ a1_999, concatenate:
       spec = gen_spectrogram (audio)

1 个答案:

答案 0 :(得分:1)

第一叠ai_0,...,ai_999:

ci = np.stack([ai_0,...,ai_999])

然后堆栈c0,...,c9

conc = np.stack([c0, ..., c9])

结果应为(10,1000,1025,16)形状