Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 内部具有不同大小数组的Numpy数组_Python_Arrays_Numpy - Fatal编程技术网

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)