Python 内部具有不同大小数组的Numpy数组
我想创建一个名为Python 内部具有不同大小数组的Numpy数组,python,arrays,numpy,Python,Arrays,Numpy,我想创建一个名为output的三维np.array,大小不一。大小为(5,a,b)的数组;a和b变化时(b减小): 为此,我可以创建一个数组数组,但稍后我想获得所有数组的第一列(没有循环),因此我无法使用: output[:,:,0] 连接它们也不起作用,它需要相同大小的数组 有没有其他方法可以使用单个数组而不是数组数组 谢谢 也许你可以列一个列表并添加这5个数组。就像@Divakar所说的,用type object创建一个空数组,并将不同大小的数组分配给它们各自的索引 import nump
output
的三维np.array
,大小不一。大小为(5,a,b)的数组;a和b变化时(b减小):
为此,我可以创建一个数组数组,但稍后我想获得所有数组的第一列(没有循环),因此我无法使用:
output[:,:,0]
连接它们也不起作用,它需要相同大小的数组
有没有其他方法可以使用单个数组而不是数组数组
谢谢 也许你可以列一个列表并添加这5个数组。就像@Divakar所说的,用type 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)
是的,创建一个具有对象dtype和assign的数组。您的意思是要创建一个具有不同形状(a,b)的np.array吗?np.array的形状必须在创建过程中定义,并且是固定的。如果您不想要大小为5的列表或对象数组(或者可能是形状(510000)),则需要创建一个(51000,20)数组,并对较短的条目进行某种填充。谢谢,但正如我在编辑的问题中所解释的,数组会使整个问题复杂化。。。
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)