You need to enable JavaScript to run this app. 如何合并2D和3D NumPy数组以得到形状为(65341,17,82)的目标数组
优惠活动
大模型
产品
解决方案
定价
更多

如何合并2D和3D NumPy数组以得到形状为(65341,17,82)的目标数组

NumPy数组拼接解决方案

你之前拼接报错的核心原因是两个数组维度不匹配:A为3维数组(形状(65341, 2, 82)),B为2维数组(形状(15, 82)),未调整形状时无法直接拼接,按以下步骤操作即可得到目标数组:

操作逻辑

目标数组C的第1维长度为17,恰好是A的第1维长度(2)加B的第0维长度(15),因此需要先将B调整为和A维度、其余轴长度匹配的3维数组,再沿第1维拼接。

  • 第一步:为B新增第0维度,将形状从(15, 82)调整为(1, 15, 82)
  • 第二步:将调整维度后的B沿第0维重复65341次,得到形状为(65341, 15, 82)的数组,和A的第0、第2维完全匹配
  • 第三步:沿第1维(axis=1)拼接A和处理后的B,得到目标数组

代码实现

import numpy as np

# 请将下方示例数组替换为你的实际A、B数组
A = np.random.rand(65341, 2, 82)
B = np.random.rand(15, 82)

# 处理B数组:升维 + 重复匹配第一维长度
B_3d = B[np.newaxis, :, :]
B_matched = np.repeat(B_3d, repeats=A.shape[0], axis=0)

# 执行拼接
C = np.concatenate([A, B_matched], axis=1)

# 验证输出形状
print(C.shape) # 输出结果为 (65341, 17, 82)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 23:42:02