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

如何对大尺寸CSV文件指定列按每x行计算平均值

实现方案

这里提供两种常用实现方式,可根据你的使用场景选择:

方案1:Python Pandas实现(适合大文件、需要灵活调整逻辑的场景)

前置依赖安装

pip install pandas

完整代码

import pandas as pd

# 读取CSV,仅加载压力列降低大文件内存占用,列名请替换为你实际的表头名
# 若CSV无表头,可改为 pd.read_csv('你的文件.csv', header=None, usecols=[1]),usecols=[1]对应第二列
df = pd.read_csv('你的文件路径.csv', usecols=['压力'])

x = 10  # 按每x行求均值,可自行修改数值

# 按固定行数分组求均值
avg_pressure = df['压力'].groupby(df.index // x).mean()

# 结果导出为新CSV
avg_pressure.to_csv('每x行压力均值结果.csv', index=False, header=['压力均值'])

补充说明

  • 核心逻辑df.index // x会将连续x行的索引计算为相同分组值,天然实现按连续x行分组的需求
  • 若需要丢弃末尾不足x行的零散数据,可在导出前添加筛选:
    avg_pressure = avg_pressure[avg_pressure.index < len(df) // x]

方案2:awk命令实现(适合轻量快速处理,无需安装额外依赖)

Linux、macOS系统自带awk工具,Windows可在WSL、Git Bash环境中运行:

# 此处示例x=10,压力列为第二列,跳过第一行表头,按需修改参数
awk -F ',' 'NR>1{sum+=$2; if(NR%10==0){print sum/10; sum=0}} END{if(sum>0) print sum/10}' 你的文件路径.csv > 压力均值结果.csv

参数说明:

  • 把10替换为你需要的固定行数x
  • 把$2替换为你压力列的实际序号,列数从1开始计数
  • 若CSV没有表头,删除代码中的NR>1即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:54:02