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

如何计算NumPy数组中每4个元素的平均值

NumPy数组连续分段平均值计算

给定NumPy数组:

import numpy as np
sample_list = np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])

需求是将数组按每4个连续元素为一段,计算每段的平均值,期望输出:[2.5, 6.5, 10.5, 14.5]

最优解法:利用reshape+mean

这是最简洁高效的实现方式,借助NumPy的数组重塑和均值计算功能:

segment_size = 4
# 将数组重塑为每行含4个元素的二维数组,再按行计算均值
result = sample_list.reshape(-1, segment_size).mean(axis=1)
print(result)
# 输出:array([ 2.5,  6.5, 10.5, 14.5])

说明:

  • reshape(-1, segment_size)里的-1让NumPy自动计算行数,原数组长度16、分段大小4时,会生成4行4列的二维数组。
  • mean(axis=1)指定按行计算平均值,最终得到一维结果数组。

兼容非整除长度的扩展方案

如果数组长度无法被分段大小整除(比如数组长度为17),需要保留剩余元素的平均值,可以结合np.array_split处理:

sample_list = np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])
segments = np.array_split(sample_list, len(sample_list)//segment_size + 1)
result = np.array([seg.mean() for seg in segments])
print(result)
# 输出:array([ 2.5,  6.5, 10.5, 14.5, 17. ])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:01:11