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

Python将小时数据重采样为日度数据并仅对Consumption rate列求和

实现方法

首先确保你的数据集的时间索引为datetime类型,若未转换先执行:
data.index = pd.to_datetime(data.index)

方法1:手动指定各列聚合规则

适合列数较少的场景,直接在agg方法中声明每列的聚合逻辑:

daily_data = data.resample('D').agg(
    # 其余需要保留的列统一使用first取当日第一条数据(若当日同列值一致可直接用)
    列名1 = ('列名1', 'first'),
    列名2 = ('列名2', 'first'),
    # 仅对Consumption rate字段按天求和
    Consumption_rate = ('Consumption rate', 'sum')
).reset_index(drop=True)

方法2:批量生成聚合规则

适合列数较多的场景,默认所有列取当日第一条数据,仅修改目标字段的聚合规则:

# 初始化聚合规则:所有列默认取当日第一条
agg_rules = {col: 'first' for col in data.columns}
# 单独指定Consumption rate列按天求和
agg_rules['Consumption rate'] = 'sum'
# 执行聚合
daily_data = data.resample('D').agg(agg_rules).reset_index(drop=True)

特殊场景适配

如果你的时间字段是单独的列而非索引,可以改用groupby实现相同效果,假设时间列名为time_col:

data['time_col'] = pd.to_datetime(data['time_col'])
agg_rules = {col: 'first' for col in data.columns}
agg_rules['Consumption rate'] = 'sum'
daily_data = data.groupby(data['time_col'].dt.date).agg(agg_rules).reset_index(drop=True)

如果同一天内非求和列存在多个不同值,可按需修改聚合规则,比如合并去重值可将'first'替换为lambda x: ', '.join(map(str, x.unique()))。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:45:00