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

如何用Python Pandas对2018-2021年逐小时数据按小时时段求和

按小时汇总四年逐小时数据的Pandas实现

你的需求是把2018-2021年逐小时数据中,同一小时(00:00-23:00)的所有数据分别求和,基于你已有的代码,补充以下步骤即可实现:

首先修正日期范围的小问题(你当前代码里的结束时间23:50:00和1小时频率不匹配,建议调整),然后通过提取小时维度分组求和:

完整代码示例

import pandas as pd

# 你的现有代码(修正日期范围)
binstas = pd.DataFrame(ch)
df = binstas.copy()
# 修正结束时间为23:00:00,确保时间序列完整覆盖到最后一小时
df['new_column'] = pd.Series(pd.date_range('2018-01-01 00:00:00', '2021-12-31 23:00:00', freq='1H'))
df = df.set_index('new_column')

# 核心步骤:按小时分组求和
# 假设你的数值列是唯一的非索引列,直接sum即可;如果有特定列名,比如'value',则写df.groupby(df.index.hour)['value'].sum()
hourly_total = df.groupby(df.index.hour).sum()

# 按预期格式输出
for hour, total in hourly_total.iterrows():
    # 如果是单列数据,取total.iloc[0];多列的话按需调整
    print(f"{hour:02d}:00 = {total.iloc[0]}")

代码说明

  1. 修正日期范围:确保时间序列的结束时间和1小时频率匹配,避免生成多余或缺失的时间点。
  2. 分组求和:df.index.hour会从时间索引中提取0-23的小时数值,以此为分组依据对所有数据求和,得到每个小时的四年总合。
  3. 格式化输出:通过循环将结果转换成你需要的HH:00 = 总和格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:20:32