Python连接存储在列表中的不同大小的数组

Zan*_*nam 2 python list

我有一个列表“Z”:

import numpy as np
z[0] = np.random.normal( 0, 1, ( 500, 20 ) )
z[1] = np.random.normal( 0, 1, ( 500, 30 ) )
Run Code Online (Sandbox Code Playgroud)

列表中有大约 100 个数组。我仅使用 2 号列表进行说明。存储的数组都是 500 的第 0 维

我想实现:

C = np.concatenate( ( z[0] , z[1] ),1)
Run Code Online (Sandbox Code Playgroud)

我试过:

z1 = [ np.concatenate( z[ii], 1 ) for ii in range(0,len(z)) ] 
Run Code Online (Sandbox Code Playgroud)

但它仍然返回原始列表并且不连接存储的数组

Til*_*ann 5

多维数组的连接在没有指定要连接的轴的情况下有点不明确。我假设您想水平堆叠数组,因为两者的行数相同。最简单的调用是

stacked = np.hstack(Z)
Run Code Online (Sandbox Code Playgroud)

这将沿轴 1 连接。您可以在此处找到文档。

更一般地,您还可以使用

stacked = np.concatenate(Z, axis=1)
Run Code Online (Sandbox Code Playgroud)

这也适用于高维数组。相应的文档在这里