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

Numpy短数组重复匹配长数组后对应元素相加有什么更优方案?

方案1:使用np.resize(写法最简洁)

np.resize会自动将数组重复填充到指定的目标长度,刚好适配b长度可整除a的场景,无需手动计算重复次数:

>>> a + np.resize(b, a.shape)
array([ 0,  2,  2,  4,  4,  6,  6,  8,  8, 10])

方案2:reshape+广播运算(内存效率最高)

如果处理的数组体量很大,不想生成完整的拓展后b数组,可以用reshape配合numpy广播机制完成运算,全程不会产生中间的重复版b数组,内存占用更低:

>>> (a.reshape(-1, len(b)) + b).ravel()
array([ 0,  2,  2,  4,  4,  6,  6,  8,  8, 10])

两种方案都比np.tile写法更简洁,性能也相当甚至更优。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:36:08