[英]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.