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

在Deepnote中用SQL将DataFrame某列NULL值替换为另一列值

在Deepnote中填充DataFrame缺失值并提取目标列的方法

你提到的子查询和WHERE是SQL的思路,不过在Deepnote里处理Pandas DataFrame有更直接的方式,不用绕SQL语法,下面给你几种实用方法:

  • 方法一:用fillna()函数(最常用)
    直接对Column A调用fillna,传入Column B作为填充值,就能把A的空值替换成对应行B的值,最后提取这一列即可:

    import pandas as pd
    
    # 构造示例数据
    df = pd.DataFrame({
        'Column A': ['Cell 1', None],
        'Column B': ['Cell 2', 'Cell 4']
    })
    
    # 填充缺失值并提取处理后的Column A
    processed_col_a = df['Column A'].fillna(df['Column B'])
    
    # 输出结果(或者赋值回原列/新列)
    print(processed_col_a)
    
  • 方法二:用combine_first()函数
    这个函数会优先取Column A的值,当A为空时取Column B的值,效果和fillna一致:

    processed_col_a = df['Column A'].combine_first(df['Column B'])
    
  • 方法三:用numpy.where()(逻辑更直观)
    显式判断A是否为空,为空则取B,否则保留A:

    import numpy as np
    
    processed_col_a = np.where(df['Column A'].isnull(), df['Column B'], df['Column A'])
    

如果之后只需要这个处理后的列,可以直接用processed_col_a,或者把它赋值回原DataFrame的Column A,再提取该列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 16:26:26