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

Python实现CSV数据列累积平均计算及可视化的方法

累积平均计算代码补全方案

完整可运行代码

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np # 若使用numpy实现方案才需要引入

df = pd.read_csv('somecsvfile.csv')
# 补全x:生成1到numbers列长度的整数序列
x = list(range(1, len(df['numbers'])+1))
y = df['numbers']
# 补全z:pandas原生实现累积平均,无需额外依赖
z = y.expanding().mean()

# 可选numpy实现方案,运行效率更高适合超大数据量,效果和上方实现完全一致
# z = np.cumsum(y) / np.arange(1, len(y)+1)

plt.plot(x, z)
plt.xlabel('前n项')
plt.ylabel('累积平均值')
plt.show()

实现逻辑说明

  • x生成逻辑:直接通过range生成从1开始、长度和numbers列行数完全一致的整数序列,符合需求的[1,2,3,...n]格式
  • z计算逻辑:
    • pandas的expanding()方法会创建一个从序列开头扩展到当前位置的滑动窗口,调用mean()即可直接计算每个位置的前n项平均值,完全匹配你给出的计算规则,代入你提供的示例输入[1,4,7,4,19]可直接得到正确输出[1, 2.5, 4, 4, 7]
    • numpy实现方案先通过cumsum计算累积和,再逐位除以对应的项数即可得到累积平均,大文件处理性能更优
  • 注意:原代码框架中df[numbers]需修改为df['numbers'],列名作为字符串引用需要加引号,否则会触发变量未定义报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:06:03