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

如何沿指定维度将numpy ndarray拼接到另一数组得到目标形状

错误原因

np.concatenate 要求参与拼接的数组除拼接轴外其余维度尺寸完全匹配,且总维度数一致。你用到的数组A是3维(形状(5,3,2)),数组B是2维(形状(5,3)),维度总数不匹配,因此直接沿axis=2拼接会执行失败。另外你的示例代码里定义变量用的是大写A/B,拼接时用了小写a/b,也要注意变量名大小写一致避免报错。

解决方法

方法1:手动扩展B的维度后拼接

用np.newaxis给B新增最后一个维度,使B的形状变为(5,3,1),和A的前两维尺寸匹配后再执行拼接:

import numpy as np
A = np.random.rand(5,3,2)
B = np.random.rand(5,3)

# 给B添加最后一维,等价写法:B = B.reshape(5,3,1)
B = B[..., np.newaxis]
C = np.concatenate((A, B), axis=2)

print(C.shape) # 输出 (5, 3, 3)

方法2:使用np.dstack一键拼接

np.dstack是numpy专门用于沿第三维(深度维度)拼接的接口,会自动给2维数组补充最后一个维度,代码更简洁:

import numpy as np
A = np.random.rand(5,3,2)
B = np.random.rand(5,3)
C = np.dstack((A, B))

print(C.shape) # 输出 (5, 3, 3)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:27:03