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

如何堆叠二维NumPy数组并计算平均值以合并多循环输出?

解决方案:沿新增轴堆叠后求平均

要实现对应位置元素的平均值计算,你需要将每次循环得到的二维数组**沿新的轴(推荐axis=0)**堆叠成三维数组,然后在堆叠的轴上计算平均值。

具体步骤:

  1. 收集循环中的数组:先把每次循环生成的二维数组存入一个列表。
  2. 堆叠数组:使用np.stack()(或直接用np.array())沿axis=0堆叠,将多个(3,3)的二维数组变成(N,3,3)的三维数组(N为循环次数)。
  3. 计算平均值:在堆叠的轴(axis=0)上调用np.mean(),得到每个位置的均值二维数组。

代码示例:

import numpy as np

# 模拟循环收集数组
arr_list = []
arr1 = np.arange(1, 10).reshape(3, 3)
arr_list.append(arr1)
arr2 = np.arange(10, 19).reshape(3, 3)
arr_list.append(arr2)

# 沿axis=0堆叠成三维数组
stacked_arr = np.stack(arr_list, axis=0)
# 等价于直接转成numpy数组:stacked_arr = np.array(arr_list)

# 沿堆叠轴计算平均值
mean_arr = np.mean(stacked_arr, axis=0)
print(mean_arr)

输出结果:

array([[ 5.5,  6.5,  7.5],
       [ 8.5,  9.5, 10.5],
       [11.5, 12.5, 13.5]])

补充说明:

你也可以选择沿axis=-1(最后一维)堆叠(用np.dstack()),得到形状为(3,3,N)的三维数组,之后在axis=-1上求平均,结果完全一致。但沿axis=0堆叠更符合循环的样本顺序逻辑,可读性更强。

内容的提问来源于stack exchange,提问作者r.carnahan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:40:54