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

Pandas分组计算均值时时间索引被重置的问题

解决方法

1. 先把索引转成完整的datetime类型

要是你的DataFrame索引只有时间部分(比如14:01:01),得先转成带日期的datetime64[ns]类型,不然分组的时候容易丢日期、小时、分钟的信息:

# 要是索引是时间字符串,直接转成datetime(默认会补当天的日期)
df.index = pd.to_datetime(df.index)

# 要是想指定特定日期,比如2024-05-20:
df.index = pd.to_datetime('2024-05-20 ' + df.index.astype(str))

2. 替换已弃用的base参数(可选)

pandas 1.1.0之后base参数就被弃用了,换成offset参数来调整分组的起始偏移更靠谱:

# 按10秒间隔分组,偏移30秒,用右边界当分组标签
result = df.groupby(pd.Grouper(freq='10S', offset='30S', label='right')).mean()

3. 验证结果索引

跑完上面的代码后,result.index应该保留原始的日期时间信息(比如2024-05-20 14:01:00),不会只显示00:00:00了。要是还是有问题,直接查看df.index确认原始索引是不是真的包含完整的日期时间,别用单纯的time类型,不然肯定丢信息。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 07:55:11