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

如何将带DatetimeIndex的Series按周几和小时分组生成均值DataFrame

实现方案

首先确保你的原始数据是索引为DatetimeIndex的Series,示例实现如下:

import pandas as pd

# ----------------------
# 如果你原始数据是DataFrame,先做预处理:
# df = pd.read_csv("你的数据文件路径")
# df["time"] = pd.to_datetime(df["time"])
# s = df.set_index("time")["my_values"]
# ----------------------

# 提取分组维度:小时、星期名称
hour = s.index.hour
weekday = s.index.day_name()

# 分组求均值后调整结构
result = s.groupby([hour, weekday]).mean().unstack()

# 调整列顺序为周一到周日,补全0-23的所有小时
week_order = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
result = result.reindex(columns=week_order, index=range(24))
result.index.name = "hour"

补充说明

  • 如果需要中文列名,把day_name()改为day_name(locale="zh_CN"),同时修改week_order为对应的中文星期名即可
  • 缺失时段的均值默认会填充为NaN,可通过fillna(0)自行修改填充值

内容的提问来源于stack exchange,提问作者Dr. Paprika

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:06:03