gpt4 book ai didi

python - 使用 numpy 从多个 2D 数组构建 3D 数组

转载 作者:太空狗 更新时间:2023-10-30 02:08:26 25 4
gpt4 key购买 nike

让我们从 2 个二维数组开始:

import numpy as np
a = np.zeros( (3,4) )
b = np.zeros( (3,4) )

现在让我们将它们组合成一个 3D 数组:

c = np.stack( (a,b) )

到目前为止一切正常,但是如何将额外的 2D 数组添加到 3D 数组,以下内容不起作用:

np.stack( (c,a) )

那么,我的问题是如何向 3D 阵列添加附加层? (numpy 版本 1.12.1)

最佳答案

如果你一开始就知道所有的二维数组,你可以只堆叠其中的两个以上:

import numpy as np
a = np.zeros((3, 4))
b = np.zeros((3, 4))
c = np.stack((a, b, a))

如果您已经有一个“堆叠”数组并想向其添加另一个数组,您可以使用例如numpy.concatenate :

如果您要添加的数组是“扁平的”,则必须将其包装在一个列表中以使尺寸匹配。默认情况下,数组沿着第一个维度连接(就像您在关键字参数中指定 axis=0 一样):

>>> c.shape
(2, 3, 4)
>>> np.array([a]).shape
(1, 3, 4)

c = np.concatenate((c, [a]))

如果两个数组都已经“堆叠”,这也将起作用:

c = np.concatenate((c, c))

关于python - 使用 numpy 从多个 2D 数组构建 3D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43363641/

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