我有一个列表“Z”:
import numpy as np
z[0] = np.random.normal( 0, 1, ( 500, 20 ) )
z[1] = np.random.normal( 0, 1, ( 500, 30 ) )
列表中大约有 100 个数组。我仅使用 2 号列表进行说明。存储的数组都是500维的0维
我要实现:
C = np.concatenate( ( z[0] , z[1] ),1)
我试过:
z1 = [ np.concatenate( z[ii], 1 ) for ii in range(0,len(z)) ]
但它仍然返回原始列表并且不连接存储的数组
最佳答案
多维数组的连接在没有指定连接轴的情况下有些不明确。我假设您想水平堆叠阵列,因为两者的行数相同。最简单的调用是
stacked = np.hstack(Z)
这将沿轴 1 连接。您可以找到文档 here .
更一般的,你也可以使用
stacked = np.concatenate(Z, axis=1)
也适用于高维数组。对应的文档是here .
关于Python连接存储在列表中的不同大小的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34795658/