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

Numpy数组扩展维度与重复的最优方法:形状从(1,5)到(1,4,5)

替代实现方案

当然有其他几种简洁的实现方式,以下是常见方案:

  • 利用NumPy广播机制(最简洁)
    广播会自动处理维度扩展与重复,无需显式调用repeat:

    # 方式1:用np.newaxis扩展维度后直接运算
    arr2 = arr[:, np.newaxis, :] / 4
    
    # 方式2:用reshape扩展维度
    arr2 = arr.reshape(1, 1, 5) / 4
    

    原理:(1,1,5)形状的数组会被广播至(1,4,5),自动填充重复的维度。

  • 使用np.tile进行数组重复
    tile适合按指定次数重复整个数组,可先缩放再重复:

    # 先缩放原数组,再在axis=1维度重复4次
    arr2 = np.tile(arr / 4, (1, 4, 1))
    

    也可以先扩展维度再tile后缩放,效果一致。

  • 使用np.broadcast_to显式广播
    先创建缩放后的数组,再通过broadcast_to直接生成目标形状的数组:

    arr_scaled = arr / 4
    arr2 = np.broadcast_to(arr_scaled[:, np.newaxis, :], (1, 4, 5))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:15:34