gpt4 book ai didi

Python:在循环中将元素添加到numpy数组的第二轴

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:53 27 4
gpt4 key购买 nike

这个link建议我们可以使用 Python 列表向其中添加元素,并使用长度未知的 np.array 将其转换为 numpy 数组,如下所示:

a = []
for x in y:
a.append(x)
a = np.array(a)

假设x是一个形状为(h,w)的numpy.ndarray,但h和w未知,我们如何向ndarray的第二个轴添加元素a 在循环中使 a 变为 (h,w,d) 其中 d 是迭代次数?

我知道我们可以使用 dstack 将元素添加在一起成为 (h,w,d),但我不太确定如何在循环中执行此操作。

最佳答案

您可以做类似的事情,但使用 x 作为 2D numpy 数组。也就是说,如果您事先不知道数组的数量,则可以将它们收集在一个列表中,然后一步将它们转换为单个 3D 数组。该代码看起来与您的示例非常相似:

gen2d = (i*np.ones((2,2)) for i in range(random.randint(1, 10))) # a generator of unknown N

a = []
for x in gen2d:
a.append(x)
a = np.dstack(a)

a.shape # (2, 2, 7)

关于Python:在循环中将元素添加到numpy数组的第二轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47765066/

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