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

如何对for循环中每次生成的numpy数组求平均值?

解决方法

有两种常用方式可以计算循环中生成的numpy数组的平均值,根据你的内存情况选择即可:

方式一:收集所有数组后统一计算

先把每次迭代生成的数组存入列表,最后转成numpy多维数组后沿迭代维度求平均,这种方法直观易懂,适合数组体积不大的场景:

import numpy as np

arr_list = []
for i in range(5):
    array_that_I_calculate = some_calculation(x,y,z)
    arr_list.append(array_that_I_calculate)

# 将列表转为多维numpy数组(维度取决于单个数组的形状)
all_arrays = np.array(arr_list)
# 沿第0个维度(迭代次数的维度)计算平均值
average_array = np.mean(all_arrays, axis=0)

方式二:边迭代边累加,最后求平均

如果每次生成的数组体积很大,不想占用额外内存存储所有数组,可以直接累加求和,最后除以迭代次数:

import numpy as np

total = None
iter_count = 5

for i in range(iter_count):
    current_arr = some_calculation(x,y,z)
    if total is None:
        # 第一次迭代时初始化累加数组
        total = current_arr.copy()
    else:
        total += current_arr

average_array = total / iter_count

注意:必须保证每次some_calculation返回的数组形状完全一致,否则会触发numpy维度不匹配的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:15:52