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

如何用Python将Excel列空值填充为上一个非空值

Python实现Excel日期列向前填充空值

问题原因

你之前编写的col = df['Start Date'] = np.where(df['Start Date'].isnull())代码仅能返回空值所在的索引位置,没有实现取值填充的逻辑,因此无法达到预期效果。

实现方案

pandas内置了向前填充方法ffill()(forward fill的缩写),原生支持“用上一个非空值填充后续空单元格”的需求,无需编写复杂循环判断,代码如下:

  1. 导入依赖库
import pandas as pd
  1. 读取文件并完成填充
# 读取原始Excel文件
df = pd.read_excel('C:/Users/Data.xlsx')

# 对Start Date列做向前填充
df['Start Date'] = df['Start Date'].ffill()
  1. (可选)将填充完成的结果写回Excel
# 写入文件时设置index=False,避免导出多余的行索引列
df.to_excel('C:/Users/Data_填充完成.xlsx', index=False)

效果说明

执行上述代码后,Start Date列的空单元格会自动取同列上方最近的非空日期值填充,和你给出的预期结果完全一致。
如果读取文件后日期列格式异常,可以在填充后增加格式转换代码:

df['Start Date'] = pd.to_datetime(df['Start Date']).dt.date

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 21:54:32