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

如何计算数组中每n行的平均值?含np.mean使用问题排查

计算数组每n行的平均值(以n=4为例)

你原代码无法运行的原因是:np.mean没有step参数,且你指定的axis=1是按列计算平均值,和按行分组的需求不匹配。

可以用np.mean实现需求,核心思路是先将数组重塑为「每组4行」的结构,再对每组的行维度取平均,具体分两种场景:

场景1:数组行数是4的整数倍

假设你的数组a形状为(N, M),且N能被4整除,直接重塑数组后计算:

import numpy as np

# 示例:创建12行3列的随机数组
a = np.random.rand(12, 3)
# 重塑为 (组数, 每组行数, 列数),-1表示自动计算组数
reshaped_a = a.reshape(-1, 4, a.shape[1])
# 对每组的行维度(axis=1)计算平均值
means = np.mean(reshaped_a, axis=1)
print(means)

输出结果的形状为(组数, M),对应每组4行的列平均值。

场景2:数组行数不是4的整数倍

如果行数无法被4整除,可选择截断剩余不足4行的部分,或单独处理剩余行:

import numpy as np

# 示例:创建10行3列的随机数组
a = np.random.rand(10, 3)
# 计算完整4行组的数量
num_full_groups = a.shape[0] // 4
# 截断数组,只保留完整分组的行
truncated_a = a[:num_full_groups * 4, :]
# 重塑并计算平均值
reshaped_a = truncated_a.reshape(-1, 4, a.shape[1])
means = np.mean(reshaped_a, axis=1)
print(means)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:39:26