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

如何对两个NumPy数组的特定元素执行相加运算?

NumPy数组特定元素的平均运算实现方法

不需要拆分原数组,直接通过索引提取目标元素就能高效完成需求,具体实现如下:

核心思路

针对3D数组f1和f2,提取所有[r][c]位置子数组的第一个元素(即第三个维度的索引0),再对提取出的2D数组做平均运算。

代码实现

import numpy as np

f1 = np.array([
      [[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]],
      [[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]],
      [[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]
     ])

f2 = np.array([
      [[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]],
      [[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]],
      [[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]]
     ])

# 提取目标元素并计算平均
result = (f1[..., 0] + f2[..., 0]) / 2
# 也可以用np.add替代+:result = np.add(f1[..., 0], f2[..., 0]) / 2

print(result)

索引说明

  • f1[..., 0]是NumPy的省略号索引,等价于f1[:, :, 0],作用是提取数组前两个维度(行、列)的所有元素,仅保留第三个维度的第0个元素,最终得到一个3×3的2D数组。
  • 对提取后的数组直接做加减和除法运算,完全符合你需要的(f1[r][c][0]+f2[r][c][0])/2逻辑,且运算效率远高于循环或拆分数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 06:12:16