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

如何用Python Pandas按日期统计数据的最小值、最大值与平均值?

用Pandas按日期聚合统计CSV字段的最小值、最大值和平均值

步骤1:读取并预处理数据

先把CSV里的time字段解析为日期时间类型,再提取纯日期作为分组依据:

import pandas as pd

# 读取CSV,自动解析time列为datetime格式
df = pd.read_csv('your_data.csv', parse_dates=['time'])

# 提取日期部分(仅保留年月日),生成分组用的date列
df['date'] = df['time'].dt.floor('D')

步骤2:按日期分组聚合统计

通过groupby结合agg方法,对Buf1和Buf2分别计算目标统计值:

# 定义每个字段需要执行的统计函数
agg_rules = {
    'Buf1': ['min', 'max', 'mean'],
    'Buf2': ['min', 'max', 'mean']
}

# 按date分组并完成聚合
daily_stats = df.groupby('date').agg(agg_rules).reset_index()

# 整理列名(可选,让结果更直观)
daily_stats.columns = ['date', 'Buf1_min', 'Buf1_max', 'Buf1_mean', 'Buf2_min', 'Buf2_max', 'Buf2_mean']

步骤3:数据校验(避免遗漏或错误)

可以通过两种方式验证结果准确性:

  • 检查分组后的日期数量是否与原始数据的唯一日期数一致:
    original_date_count = df['date'].nunique()
    result_date_count = daily_stats['date'].nunique()
    
    if original_date_count == result_date_count:
        print("所有日期数据均已统计,无遗漏")
    else:
        print(f"数据异常:原始数据有{original_date_count}个日期,结果仅统计{result_date_count}个")
    
  • 随机抽取某一天的原始数据,手动计算min/max/mean,和聚合结果对比,确认统计逻辑正确。

最终结果格式示例

聚合后的daily_stats结构如下:

dateBuf1_minBuf1_maxBuf1_meanBuf2_minBuf2_maxBuf2_mean
2024-05-01128945.657238.2
2024-05-02159247.177540.5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:25:24