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

如何对pandas DataFrame按小时重采样计算AC_POWER均值并解决输出异常

问题原因

从你给出的运行结果可以看出resample操作未完成小时级聚合,核心问题如下:

  • 调用mean()时未指定仅计算数值列,当前数据集存在SOURCE_KEY等字符串类型列,无法参与均值计算,导致聚合失效,保留了原始行记录
  • 日期时间转换未指定格式,你数据集的时间格式为日-月-年 时:分,属于pandas非默认识别格式,容易出现识别误差

你更换其他数据集可以正常运行,大概率是因为其他数据集没有非数值类型列,mean()可以正常执行全表聚合。

修正后代码

import pandas as pd

df = pd.read_csv('dataset.csv')
# 转换时间时指定格式,避免识别错误
df['DATE_TIME'] = pd.to_datetime(df['DATE_TIME'], format='%d-%m-%Y %H:%M')
# 仅对AC_POWER字段做小时级均值聚合,再重置索引调整列名
result = df.resample('H', on='DATE_TIME')['AC_POWER'].mean().reset_index()
result.columns = ['DATE', 'AC_POWER']
# 若需要DATE列输出为带单引号的字符串格式,可添加下方代码
result['DATE'] = result['DATE'].dt.strftime("'%d-%m-%Y %H:%M'")

运行后输出的result即可匹配你期望的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:54:04