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

如何基于Numpy最佳实践实现多维ndarray加权平均计算,无需遍历三维数组

实现方案

核心利用NumPy的广播机制自动对齐维度,无需任何显式循环:

  1. 首先把pandas Series格式的C转为NumPy数组,再调整维度为(1, 20, 1)适配A、B的三维结构
  2. 直接按照公式做逐元素运算即可

示例代码

# 转换C的格式并扩展维度,-1会自动匹配20的长度
C_arr = C.to_numpy().reshape(1, -1, 1)
# 直接向量运算得到结果
D = A * C_arr + B * (1 - C_arr)

原理解释

原公式里权重C[x]作用在第二个维度(索引为1的维度)上,我们把一维的C调整为(1, 20, 1)的三维结构后,NumPy做运算时会自动把长度为1的维度广播到和A、B对应维度相同的大小:第一个维度扩展到3,第三个维度扩展到5,刚好实现每个C[x]对应该维度切片所有元素的加权逻辑,运算效率远高于手动遍历三维数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:48:00