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

如何为多列DataFrame生成时间戳并向前填充缺失值

按指定时间频率扩展DataFrame并向前填充缺失值

核心解决方案

你不需要手动生成时间序列后再拼接,Pandas内置的resample或reindex方法可以直接完成需求,步骤如下:

步骤1:确保日期列是时间索引

首先要确认你的date列已经转为时间格式并设置为DataFrame的索引(如果还没做的话):

# 转换date列为datetime类型
df['date'] = pd.to_datetime(df['date'])
# 设置为索引
df.set_index('date', inplace=True)

方法1:用resample直接重采样(推荐)

resample会自动生成指定频率的时间序列,同时可以直接调用ffill()向前填充缺失值:

# 按15分钟频率重采样并向前填充
result_df = df.resample('15min').ffill()

方法2:用已生成的new_date做reindex

如果你已经用pd.date_range生成了new_date,可以直接用reindex对齐时间序列,再填充:

# 对齐时间序列并向前填充
result_df = df.reindex(new_date).ffill()

示例输出

执行后你会得到符合预期的结果:

date                col1 col2  col3 
2023-01-01 00:00:00 Y    N     NaN
2023-01-01 00:15:00 Y    N     NaN
2023-01-01 00:30:00 Y    N     NaN
    ...          
2023-01-02 00:00:00 Y    N     Y            

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:25:59