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

基于2012-2023年历史数据计算每日逐小时均值构建基准年

计算跨年份每日逐小时电力均值构建基准年

问题核心

需要基于2012-2023年的小时级电力数据,计算同一月日、同一小时的跨年份平均值,生成"基准年"的逐小时数据,输出格式要求为MM-DD HH:MM:SS的时间标识对应均值。

现有代码问题分析

  • 第一段代码:按日期分组求日均值,丢失了小时维度,仅得到每日整体平均值,不符合需求。
  • 第二段代码:按日期+小时分组,本质是保留了单天单小时的原始数据(每个分组仅对应一条记录),未实现跨年份的聚合计算。

解决方案

通过提取月-日-小时作为分组键,将所有年份中同一时间点的数据归为一组,再计算均值即可。以下提供两种实现方式:

方法1:基于字符串格式的时间键分组

import pandas as pd

# 确保Timestamp为datetime类型(若未转换)
final_df['Timestamp'] = pd.to_datetime(final_df['Timestamp'])

# 生成统一格式的月-日-小时标识作为分组键
final_df['time_key'] = final_df['Timestamp'].dt.strftime('%m-%d %H:%M:%S')

# 按时间键分组,计算电力数据的均值
baseline_df = final_df.groupby('time_key')[['bruttoPower [kW]', 'nettoPower [kW]']].mean().reset_index()

# 重命名列名匹配需求
baseline_df.rename(columns={'time_key': 'Timestamp'}, inplace=True)

# 按时间顺序排序(确保从年初到年末排列)
baseline_df['sort_key'] = pd.to_datetime(baseline_df['Timestamp'], format='%m-%d %H:%M:%S')
baseline_df.sort_values('sort_key', inplace=True)
baseline_df.drop('sort_key', axis=1, inplace=True)

display(baseline_df)

方法2:基于日期分量(月/日/小时)分组

这种方式无需字符串处理,更适合后续可能的扩展操作:

import pandas as pd

final_df['Timestamp'] = pd.to_datetime(final_df['Timestamp'])

# 按月、日、小时三个维度分组,计算均值
baseline_df = final_df.groupby(
    [final_df['Timestamp'].dt.month, 
     final_df['Timestamp'].dt.day, 
     final_df['Timestamp'].dt.hour]
)[['bruttoPower [kW]', 'nettoPower [kW]']].mean().reset_index()

# 构造需求格式的Timestamp列
baseline_df['Timestamp'] = baseline_df.apply(
    lambda row: f"{row['month']:02d}-{row['day']:02d} {row['hour']:02d}:00:00",
    axis=1
)

# 清理冗余列并排序
baseline_df = baseline_df[['Timestamp', 'bruttoPower [kW]', 'nettoPower [kW]']]
baseline_df['sort_key'] = pd.to_datetime(baseline_df['Timestamp'], format='%m-%d %H:%M:%S')
baseline_df.sort_values('sort_key', inplace=True)
baseline_df.drop('sort_key', axis=1, inplace=True)

display(baseline_df)

输出效果

最终输出将包含8760行(闰年为8784行),每行对应一个MM-DD HH:MM:SS的时间点,以及该时间点跨12年的电力均值,完全匹配需求示例格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:02:11