繁体   English   中英

numpy数组内部具有不同大小的数组

[英]Numpy array with arrays of different size inside

我想创建一个3D np.array命名为大小可变的output 大小为(5,a,b)的数组; 随着a和b的变化(b减小):

(a,b) = (1000,20)
(a,b) = (1000,19)
(a,b) = (1000,18)
(a,b) = (1000,17)
(a,b) = (1000,16)

我可以创建一个数组数组来这样做,但是稍后我想获取所有数组的第一列(没有循环),那么我不能使用:

output[:,:,0]

串联它们也不会起作用,它要求数组的大小相同。

是否有其他选择能够具有变化的单个数组而不是数组?

谢谢!

就像@Divakar所说的那样,用类型object创建一个空数组,并将不同大小的数组分配给它们各自的索引。

import numpy as np

arrs = [np.ones((5, i, 10 - i)) for i in range(10)]
arrs[0].shape
(5, 0, 10)
arrs[1].shape
(5, 1, 9)
out = np.emtpy(len(arrs), dtype=object)
out[:] = arrs
out[0].shape
(5, 0, 10)
out[1].shape
(5, 1, 9)

也许您可以列出并添加这5个数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM