gpt4 book ai didi

python - 将 2D 数组合并到 3D 数组

转载 作者:太空宇宙 更新时间:2023-11-03 12:13:26 24 4
gpt4 key购买 nike

你好,我有 3 个 numpy 数组,如下所示。

>>> print A
[[ 1. 0. 0.]
[ 3. 0. 0.]
[ 5. 2. 0.]
[ 2. 0. 0.]
[ 1. 2. 1.]]
>>> print B
[[ 5. 9. 9.]
[ 37. 8. 9.]
[ 49. 8. 3.]
[ 3. 3. 1.]
[ 4. 4. 5.]]
>>>
>>> print C
[[ 0. 0. 0.]
[ 0. 6. 0.]
[ 1. 4. 6.]
[ 6. 2. 0.]
[ 0. 5. 4.]]

我想将它们合并为

[[[  1.   0.   0.]
[ 5. 9. 9.]
[ 0. 0. 0.]]

[[ 3. 0. 0.]
[ 37. 8. 9.]
[ 0. 6. 0.]]

[[ 5. 2. 0.]
[ 49. 8. 3.]
[ 1. 4. 6.]]

[[ 2. 0. 0.]
[ 3. 3. 1.]
[ 6. 2. 0.]]

[[ 1. 2. 1.]
[ 4. 4. 5.]
[ 0. 5. 4.]]]

也就是说,我想从每个数组中取出一行。谁能告诉我一个简单的方法来做到这一点?我已经尝试过 hstackvstack。但他们没有给出预期的结果。

谢谢!

最佳答案

使用 np.stack使这变得微不足道:

>>> np.stack([A, B, C], axis=1)  # stack along a new axis in axis 1 of the result
array([[[ 1, 0, 0],
[ 5, 9, 9],
[ 0, 0, 0]],

[[ 3, 0, 0],
[37, 8, 9],
[ 0, 6, 0]],

[[ 5, 2, 0],
[49, 8, 3],
[ 1, 4, 6]],

[[ 2, 0, 0],
[ 3, 3, 1],
[ 6, 2, 0]],

[[ 1, 2, 1],
[ 4, 4, 5],
[ 0, 5, 4]]])

关于python - 将 2D 数组合并到 3D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18595488/

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