如何填充DataFrame中的NaN空值:将空值替换为上一个非空值
空值前向填充实现方案
你需要的是pandas中的**前向填充(forward fill)**功能,直接调用内置方法即可完成,不需要自行编写循环逻辑。
完整示例代码
第一步:构造测试数据
import pandas as pd import numpy as np # 生成和你描述一致的DataFrame df = pd.DataFrame({ 'target_col': ['Jacob', np.nan, np.nan, 'Max', np.nan, 'Prince', np.nan, np.nan, np.nan] })
第二步:核心填充操作
两种等价写法均可实现需求,任选其一即可:
- 直接调用
ffill()方法
df['target_col'] = df['target_col'].ffill()
- 通过
fillna()指定填充策略
df['target_col'] = df['target_col'].fillna(method='ffill')
结果验证
填充后target_col列的取值为:['Jacob', 'Jacob', 'Jacob', 'Max', 'Max', 'Prince', 'Prince', 'Prince', 'Prince'],完全符合预期。
内容的提问来源于stack exchange,提问作者Paras Chopra
相关产品推荐
相关产品推荐

