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

Python中如何计算DataFrame里全年每日的温度均值?

解决全年每日温度均值计算问题

核心思路

原方法仅基于现有数据中的日期分组,无法自动补充缺失日期。要得到全年每日均值,必须先构建目标年份的完整日期序列,再与原数据合并,最后计算均值。

具体实现步骤

  1. 转换日期列格式
    确保Dates列为datetime类型,避免字符串格式导致的匹配异常:
import pandas as pd

# 转换Dates列为datetime格式
df['Dates'] = pd.to_datetime(df['Dates'])
  1. 生成全年完整日期序列
    以2019年为例,生成全年每一天的日期:
# 创建包含2019年所有日期的DataFrame
full_dates = pd.date_range(start='2019-01-01', end='2019-12-31', freq='D')
full_df = pd.DataFrame({'Dates': full_dates})
  1. 合并原数据与完整日期
    通过左连接保留所有日期,原数据中无记录的日期对应的Temp会显示为NaN:
merged_df = pd.merge(full_df, df, on='Dates', how='left')
  1. 计算每日温度均值
    按日期分组计算均值,缺失数据可根据需求填充:
daily_mean = merged_df.groupby('Dates', as_index=False)['Temp'].mean()

# 可选:用线性插值填充缺失值(也可替换为0、前后均值等)
daily_mean['Temp'] = daily_mean['Temp'].interpolate(method='linear')

结果说明

运行后daily_mean会包含2019年全年365天的日期及对应温度均值,原数据中无记录的日期会按你选择的方式处理(保留NaN、插值填充或固定值填充)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:32:00