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

如何将NumPy二维数组(1316,21)扩充至(1329,21)大小

错误操作的根因

使用np.append时没有指定axis参数是导致数组被展平的核心原因:该参数缺省时,NumPy会将所有输入数组全部展平为一维序列,再完成末尾拼接。
原数组总元素数为1316*21=27636,加上传入的13个零元素,总长度恰好是你观察到的27649,和实际运行结果完全匹配。

符合维度要求的实现方案

所有方案均可最终得到形状为(1329, 21)的数组,可按需选择:

  • 正确参数配置下使用np.append
    需要满足两个匹配要求:将待追加内容构造为与原数组列数一致的二维形状,同时指定axis=0表示沿行方向(数组第0维)拼接。
    因新增区域无存储数值要求,用np.empty替代np.zeros可省去不必要的初始化开销,示例代码:

    x = np.append(x, np.empty((13, 21)), axis=0)
    
  • 使用np.concatenate实现同维度拼接
    与np.append底层逻辑一致,但强制要求显式传入拼接轴,从根源上避免默认展平的问题:

    x = np.concatenate([x, np.empty((13, 21))], axis=0)
    
  • 使用np.pad按维度指定补全范围
    无需手动计算待拼接数组的形状,直接按每个维度的补全需求配置参数即可:

    # 行方向(第0维)末尾补13个单位,列方向(第1维)不做补全
    x = np.pad(x, pad_width=((0, 13), (0, 0)))
    

    由于新增区域无强制数值要求,np.pad默认的内存值即可满足需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 12:06:06