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

如何使用numpy向量化方法高效完成ndarray维度扩展与公式赋值

实现方案

核心思路

利用numpy的广播机制实现向量化运算,完全避免显式for循环,运算效率远高于Python原生循环实现。

操作步骤

  1. 计算新增维度的数值
    你给出的计算公式可以直接通过数组广播实现,不需要遍历i:
# 计算得到的new_channel形状为 (100, 50)
new_channel = A[:, :, 4] * B + 5
# 为新增数组扩展最后一维,方便后续拼接,扩展后形状为 (100, 50, 1)
new_channel = new_channel[..., np.newaxis]
  1. 拼接数组得到最终结果
    使用np.concatenate沿最后一维拼接原数组和新生成的通道即可:
A_extended = np.concatenate([A, new_channel], axis=-1)

最终得到的A_extended形状就是你需要的[100, 50, 6]。

原理说明

A[:, :, 4]的形状为(100, 50),权重数组B的形状为(50,),二者做乘法运算时,numpy会自动将B沿第一个维度广播复制100次,刚好满足每个i位置对应乘B[i]的计算逻辑,完全匹配你给出的公式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:06:03