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

Python如何计算指定行平均值 将月度气温数据聚合为年度数据

Python月度气温数据转年度粒度聚合方案

核心逻辑:从存储日期的dt列提取年份维度,按年分组计算12个月的气温平均值,将原月度粒度数据转换为年度粒度,即可大幅缩短可视化图表的展示长度。

具体实现步骤

  • 依赖库导入与数据加载
    先导入数据处理、可视化需要的pandas和matplotlib库,读取本地气温数据集:
    import pandas as pd
    import matplotlib.pyplot as plt
    
    # 替换为你自己的数据集文件路径
    df = pd.read_csv("temperature_data.csv")
    
  • 日期字段预处理
    将字符串格式的dt列转为pandas标准日期格式,从中提取年份生成新的聚合维度列:
    # 转换dt列为日期类型
    df["dt"] = pd.to_datetime(df["dt"])
    # 提取年份存入新列
    df["year"] = df["dt"].dt.year
    
  • 年度维度聚合计算均值
    按年份列分组,对所有需要统计的气温字段计算全年平均值,直接得到年度粒度的数据集:
    # 方括号内替换为你数据集里实际的气温字段名,比如陆地平均温、海洋平均温等
    df_annual = df.groupby(by="year", as_index=False)[
        ["LandAverageTemperature", "LandAndOceanAverageTemperature"]
    ].mean()
    
  • 结果校验与可视化
    先输出聚合后的数据前几行确认计算结果正确,再绘制年度粒度的气温趋势图即可:
    # 打印前5行校验聚合结果
    print(df_annual.head())
    
    # 绘制年度气温趋势图
    plt.figure(figsize=(10, 6))
    plt.plot(df_annual["year"], df_annual["LandAverageTemperature"], label="陆地年平均气温")
    plt.plot(df_annual["year"], df_annual["LandAndOceanAverageTemperature"], label="陆海综合年平均气温")
    plt.xlabel("年份")
    plt.ylabel("气温(℃)")
    plt.legend()
    plt.tight_layout()
    plt.show()
    

常见问题说明:如果原始月度数据存在气温值缺失的情况,建议在聚合前先做缺失值填充(比如用对应月份的历史均值填充),避免年度均值计算结果出现偏差。

如果需要调整聚合规则(比如计算年度最高/最低温),只需要把聚合函数从.mean()替换成.max()/.min()即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:42:06