我有一个二维 numpy 数组的列表。作为测试,请考虑以下列表:
lst = [np.arange(10).reshape(5,2)]*10
现在我可以通过以下方式获取特定数据元素:
lst[k][j,i]
我想将它转换为一个 numpy 数组,以便我可以索引它:
array[k,j,i]
即,形状应该是(10, 5, 2)
。
这似乎可行,但似乎完全没有必要:
z = np.empty((10,5,2))
for i,x in enumerate(z):
x[:,:] = lst[i]
这些不起作用:
np.hstack(lst)
np.vstack(lst)
np.dstack(lst) #this is closest, but gives wrong shape (5, 2, 10)
我想我可以将 anp.dstack
与 a配对np.rollaxis
,但同样,这似乎不太正确......
有没有用 numpy 做到这一点的好方法?
我看过这个非常相关的帖子,但我似乎无法解决这个问题。