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

pandas中有没有比三元判断更简便的NaN替换为默认值的方法

pandas NaN替换的简洁实现方案

你要的无需重复引用变量a的写法有多个成熟实现,根据使用场景可以选择对应的方案:

  • 标量场景(单个值的判断)
    pandas 1.4.0及以上版本提供了原生的pd.coalesce()函数,会直接返回传入参数序列中第一个非空的值,和你写的三元表达式效果完全一致:

    var = pd.coalesce(a, b)
    

    如果使用的pandas版本较低,也可以借助numpy的where方法实现:

    import numpy as np
    var = np.where(pd.isna(a), b, a)
    
  • 序列/表格场景(处理Series或DataFrame)
    直接用pandas内置的fillna()方法即可,不需要额外写判断逻辑:

    # 替换单个Series中的NaN
    your_series = your_series.fillna(b)
    # 替换DataFrame指定列的NaN
    df['target_col'] = df['target_col'].fillna(b)
    

内容的提问来源于stack exchange,提问作者David Davó

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:24:04