Python中如何对包含多个同维度2D Array的列表求逐元素平均?
实现方案
你需要的逐元素平均操作可以通过NumPy的np.mean函数一行实现,这是最简洁的方案:
核心代码
import numpy as np # arr_list 为你存储所有DX的列表 result = np.mean(arr_list, axis=0)
原理解释
- 你传入的数组列表会被自动堆叠为形状为
(N, 4, 5)的三维数组,其中N是列表长度,4、5是你单个2D数组的维度 - 指定
axis=0参数会沿着堆叠出的第一个维度求平均,最终输出的就是维度为4x5的逐元素平均结果,完全符合你给出的计算规则。
补充说明
如果没有安装NumPy,可以先通过包管理工具安装后使用,纯Python实现同类逻辑会需要嵌套循环,代码冗余度高很多。
你后续搜索相关内容可以用的关键词:NumPy 多数组逐元素平均、np.mean axis参数用法。
如果使用PyTorch张量做同类操作,对应实现代码为:
import torch result = torch.mean(torch.stack(arr_list), dim=0)
内容的提问来源于stack exchange,提问作者rokem
相关产品推荐
相关产品推荐

