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

如何为DataFrame填充完整日期索引并沿用前值补全空缺

补全连续日期并填充空缺值的Pandas实现

步骤说明

要实现将间隔日期的DataFrame转换为连续日期、空缺值沿用前序值补全的需求,用Pandas可以快速完成,核心是日期索引转换、生成连续日期序列和前向填充三个操作。

完整代码示例

import pandas as pd

# 1. 构造原始DataFrame
raw_data = {
    'Value': [23, 43, 12, 35]
}
raw_index = ['01/01/2013', '09/01/2013', '13/01/2013', '19/01/2013']
df = pd.DataFrame(raw_data, index=raw_index)

# 2. 将字符串索引转为日期类型(注意格式是DD/MM/YYYY)
df.index = pd.to_datetime(df.index, format='%d/%m/%Y')

# 3. 生成从最小到最大日期的连续每日序列
full_date_range = pd.date_range(start=df.index.min(), end=df.index.max(), freq='D')

# 4. 重新索引并使用前向填充补全空缺值
filled_df = df.reindex(full_date_range).ffill()

# 可选:将日期索引转回原字符串格式(如需要)
filled_df.index = filled_df.index.strftime('%d/%m/%Y')

# 输出结果
print(filled_df)

运行结果

执行后会输出你期望的DataFrame:

Value
01/01/2013     23
02/01/2013     23
03/01/2013     23
04/01/2013     23
05/01/2013     23
06/01/2013     23
07/01/2013     23
08/01/2013     23
09/01/2013     43
10/01/2013     43
11/01/2013     43
12/01/2013     43
13/01/2013     12
14/01/2013     12
15/01/2013     12
16/01/2013     12
17/01/2013     12
18/01/2013     12
19/01/2013     35

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 16:57:19