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

如何获取数组中最新n个数值的平均值?(电池电压监测场景)

解决数组最后100个元素的平均值计算问题

嘿,这个需求用Python的列表切片就能轻松搞定,我来给你详细说下:

核心语法:列表切片取最后100个元素

在Python中,要获取列表的最后N个元素,直接用列表[-N:]的切片语法就行。对你的场景来说,就是用yar[-100:]来获取电压数组的最后100条读数——哪怕数组长度还没到100,这个切片也会返回整个数组,完美兼容两种情况。

结合你的代码修改

把你原来计算平均值的代码替换成下面的写法,就能实现“超过100条时取最后100条的平均值,不足时取全部”的逻辑:

if len(yar) > 1:
    # 计算最后100条(或全部)数据的平均值
    recent_average = np.mean(yar[-100:])
    # 更新标题显示,用:.2f格式化保留两位小数(可选)
    plt.title(f"Voltage: {yar[-1]} | Average (last 100): {recent_average:.2f}")

进阶:区分数据量的显示(可选)

如果你想在数据不足100条时明确提示,也可以加个简单的判断:

if len(yar) > 1:
    if len(yar) >= 100:
        avg_value = np.mean(yar[-100:])
        avg_label = f"Average (last 100): {avg_value:.2f}"
    else:
        avg_value = np.mean(yar)
        avg_label = f"Average (all {len(yar)}): {avg_value:.2f}"
    plt.title(f"Voltage: {yar[-1]} | {avg_label}")

这样能让标题显示更清晰,用户一眼就能知道当前平均值的计算范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:47:11