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

Pandas拼接DataFrame不缩减行数求totalconsumedenergy平均值

解决方案

你的问题出在groupby(level=0)会直接按索引的第一级(也就是day_of_week)分组,把同周几的所有行合并成一行,自然会缩减行数。要保留day_of_week对应的原有时间粒度行数(比如每日每小时维度),需要按**day_of_week+时间粒度字段**来分组,再计算平均值:

情况1:day_of_week是普通列,且数据包含小时字段(如hour)

假设你的DataFrame里有day_of_week和hour列,分别标记周几和当天的小时,执行以下代码:

# 拼接两个DataFrame
sensors_data_new = pd.concat([df1, df2])
# 按周几+小时分组,计算能耗均值,同时保留原维度行数
sensors_data = sensors_data_new.groupby(['day_of_week', 'hour'], as_index=False)['totalconsumedenergy'].mean()

情况2:day_of_week是索引的一部分(比如多级索引)

如果day_of_week是多级索引的一级,先把索引转成普通列再处理:

sensors_data_new = pd.concat([df1.reset_index(), df2.reset_index()])
sensors_data = sensors_data_new.groupby(['day_of_week', 'hour'], as_index=False)['totalconsumedenergy'].mean()

这样处理后,每个day_of_week下的每小时行都会保留,同时计算出两周对应时段的totalconsumedenergy平均值,不会缩减行数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:48:38