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

Python每日平均值函数开发:从CSV文件计算指定变量日均值

实现daily_average函数计算逐小时数据的每日平均值

核心思路

借助pandas的时间序列处理能力,把逐小时数据的日期、时间合并为完整时间戳,通过按天重采样直接计算指定变量的每日平均值,高效且逻辑清晰。

代码实现

import pandas as pd
import numpy as np

def daily_average(data, station, variable):
    # 从数据源中获取指定站点的DataFrame(假设data是键为站点名的字典)
    if station not in data:
        raise ValueError(f"站点 {station} 不存在于数据源中")
    df = data[station]
    
    # 验证指定变量是否存在
    if variable not in df.columns:
        raise ValueError(f"变量 {variable} 不存在于站点 {station} 的数据中")
    
    # 合并日期与时间列,生成datetime索引
    df['datetime'] = pd.to_datetime(df['date'] + ' ' + df['time'])
    df = df.set_index('datetime')
    
    # 按天重采样,计算每日平均值
    daily_avg_series = df[variable].resample('D').mean()
    
    # 返回numpy数组或列表,按需选择一种即可
    return daily_avg_series.values  # 返回numpy数组
    # return daily_avg_series.tolist()  # 返回Python列表

关键细节说明

  • 数据源适配:假设data是字典结构,键为站点名称(对应3个CSV文件),值为读取后的pandas DataFrame。如果你的data已经是目标站点的DataFrame,可直接删除站点校验和筛选的代码块。
  • 时间处理:pd.to_datetime自动解析date+time的字符串组合,生成标准datetime格式;将其设为索引后,resample('D')能快速按天聚合数据。
  • 异常防护:加入站点和变量的存在性校验,避免因参数错误导致运行时异常,提升函数健壮性。
  • 返回格式:values属性返回numpy数组,tolist()返回Python列表,可根据调用场景切换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:31:14