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

3D numpy数组按第一维度求和的非循环实现方法

实现方案

方法1:使用numpy内置sum函数指定求和维度

直接调用numpy.sum(),传入参数axis=0指定对第一个维度求和即可,代码如下:

import numpy as np

arr = np.array(((((1,2,3),(9,8,7),(6,5,4))),
                (((10,20,30),(90,80,70),(60,50,40)))))
arr_sum = np.sum(arr, axis=0)

运行后arr_sum的输出完全符合预期:

array([[11, 22, 33],
       [99, 88, 77],
       [66, 55, 44]])

方法2:直接调用数组对象的sum方法

也可以直接调用numpy数组自带的sum实例方法,写法更简洁,效果和上面完全一致:

arr_sum = arr.sum(axis=0)

方案优势

  • 代码更简洁,仅需一行就可以完成原本循环的功能
  • numpy内置的求和是向量化运算,底层用C实现,相比Python原生循环性能高很多,数组越大优势越明显
  • 语义清晰,看到axis=0就能直接判断是对第一个维度做聚合操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:09:03