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

标签 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 ) )

列表中大约有 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/

相关文章:

python - Bokeh Interactive 图例隐藏多个字形

python - 为什么我无法使用 networkx 和请求获取某个网站 url 的 IP 地址?

python - Python 中可以存在非对象吗?

c# - 将 foreach 循环重构为 List<T>.ForEach(...)

java - 如何使用 Jax-RS 返回 Java List<String> Json

Java:从通用列表/集合派生

python - 用 python 为 arm 交叉编译 gdb 失败

Python,带有基本身份验证的 HTTPS GET

python - 添加两个已经在同一个列表中的词典

java - 如何按对象值整数对自定义arraylist进行排序