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

如何使用NumPy API对数组每N个元素求和?

NumPy数组每3个元素分组求和的实现方案

当然有合适的NumPy API可以实现这个需求,而且方法简洁高效:

方法一:针对长度刚好是分组数倍数的情况

直接用reshape将数组重组为二维数组,再按行求和即可:

import numpy as np
arr = np.array([1,2,3,2,3,7,2,3,4])

# 重组为每行3个元素的二维数组,再对每行求和
result = arr.reshape(-1, 3).sum(axis=1)
print(result)  # 输出: [ 6 12  9]
  • reshape(-1, 3)中的-1表示让NumPy自动计算行数,这里9个元素会被分成3行3列的数组
  • sum(axis=1)指定沿着行的维度求和,也就是对每一组3个元素计算总和

方法二:通用处理(数组长度不被分组数整除时)

如果数组总长度不是分组数的整数倍,又想只处理完整的分组(忽略最后不足的部分),可以先截取到刚好能整除的长度再处理:

group_size = 3
# 截取到能被分组数整除的最大长度
trimmed_arr = arr[:len(arr) // group_size * group_size]
result = trimmed_arr.reshape(-1, group_size).sum(axis=1)

这两种方法都是基于NumPy原生API实现的,避免了Python循环,计算效率远高于手动遍历求和。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 00:41:14