如何为pandas DataFrame的年-月-日格式DateStamp列添加小时信息
实现方法
你可以根据自己的数据情况选择以下两种方案:
方案1:直接生成连续小时序列(适配当前场景,效率最高)
你的数据刚好是2017年全年的小时级数据(共365*24=8760行),直接生成完整的连续时间序列覆盖原DateStamp列即可:
import pandas as pd day_ahead_DK1['DateStamp'] = pd.date_range( start="2017-01-01", periods=len(day_ahead_DK1), freq="H" )
方案2:按日期分组补小时(通用场景)
如果后续你需要处理的数据存在日期不连续、但单天内24小时数据完整且顺序正确的情况,可以用分组计算小时增量的方法实现:
import pandas as pd # 先将原日期列转为datetime格式 day_ahead_DK1['DateStamp'] = pd.to_datetime(day_ahead_DK1['DateStamp']) # 按日期分组,获取每个日期内的行序号作为小时数,转为时间增量叠加到原日期上 day_ahead_DK1['DateStamp'] = day_ahead_DK1['DateStamp'] + pd.to_timedelta( day_ahead_DK1.groupby('DateStamp').cumcount(), unit="H" )
结果验证
运行完成后可以执行以下代码检查输出是否符合预期:
print(day_ahead_DK1.head()) print(day_ahead_DK1.tail())
内容的提问来源于stack exchange,提问作者errenmike1806
相关产品推荐
相关产品推荐

