gpt4 book ai didi

python - 将二维数组列表转换为三维数组,沿 "fast"轴添加元素

转载 作者:行者123 更新时间:2023-11-28 21:25:40 25 4
gpt4 key购买 nike

我有一个二维 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)

我想我可以将 np.dstacknp.rollaxis 配对,但同样,这似乎不太正确......

有没有用 numpy 做这个的好方法?

我看过this very related post , 但我似乎不太明白。

最佳答案

这应该只需调用数组构造函数即可工作,即 np.array(lst)

>>> l = [np.arange(10).reshape((5,2)) for i in range(10)]
>>> np.array(l).shape
(10, 5, 2)

关于python - 将二维数组列表转换为三维数组,沿 "fast"轴添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com