You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将四个形状为(3,2,1)的3D NumPy数组合并为(3,2,4)?

解决方案:合并四个(3,2,1) NumPy数组为(3,2,4)

嘿,这个问题我刚好处理过,其实用NumPy内置的concatenate函数就能完美解决!

核心思路

你的四个数组形状都是(3,2,1),我们需要在**最后一个维度(也就是axis=2)**上把它们拼接起来——因为每个数组的最后一维长度是1,四个这样的数组拼在一起,最后一维的长度就会变成1*4=4,刚好得到你想要的(3,2,4)形状。

代码示例

先创建几个测试用的数组,然后执行合并操作:

import numpy as np

# 生成四个形状为(3,2,1)的示例数组
arr1 = np.random.rand(3, 2, 1)
arr2 = np.random.rand(3, 2, 1)
arr3 = np.random.rand(3, 2, 1)
arr4 = np.random.rand(3, 2, 1)

# 在axis=2维度上完成拼接
merged_array = np.concatenate([arr1, arr2, arr3, arr4], axis=2)

# 验证结果形状
print(merged_array.shape)  # 输出:(3, 2, 4)

小提示

  • 一定要注意指定axis=2,如果选错轴(比如axis=0或axis=1),得到的数组形状会完全不符合预期;
  • 如果你习惯用np.stack,也可以通过堆叠后压缩多余维度实现,但concatenate是更直接的方式,不需要额外处理:
    # 用stack实现的备选方案
    merged_array = np.squeeze(np.stack([arr1, arr2, arr3, arr4], axis=2), axis=-1)
    

内容的提问来源于stack exchange,提问作者RaduS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:36:34