锯齿状numpy数组列表的列表变平

时间:2018-07-30 17:34:26

标签: python arrays numpy

我的问题是,使包含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数组如何,此列表都将变平。

1 个答案:

答案 0 :(得分:0)

没有完整,最少,可验证的示例就很难进行测试,但是是否有不能仅仅做flat_arr = np.array([el for L in mylist for arr in L for el in arr.flat()])的原因?