我的问题是,使包含JAGGED numpy数组列表的列表最平整,最节省时间的方式是什么?
它的结构如下:
mylist = [list1, list2, list3, ...]
list1 = [nparr11, nparr12, nparr13, ...]
nparr11 = np.ones((3, 3, 3, 32)) #arbitrary shapes
nparr12 = np.ones((2, 300))
nparr13 = np.ones((512,))
...
当然,常规的concat或vstack无效。
经过数小时的研究,这是我想到的,它可能会对某人有所帮助:
arr = np.asarray(mylist)
flat_arr = np.concatenate([d.ravel() for d in arr])
现在,无论内部的Numpy数组如何,此列表都将变平。
答案 0 :(得分:0)
没有完整,最少,可验证的示例就很难进行测试,但是是否有不能仅仅做flat_arr = np.array([el for L in mylist for arr in L for el in arr.flat()])
的原因?