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

如何基于多条件优先级判断为DataFrame添加新列?

解决方案:按优先级填充新列NewColD

1. 构造示例数据

先还原你提供的DataFrame:

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'ColA': ['A', 'B', 'C'],
    'ColB': [np.nan, 'F', 'D'],
    'ColC': [np.nan, np.nan, 'G']
}, index=[1, 2, 3])

2. 按规则生成NewColD

利用fillna()的链式调用实现优先级填充逻辑(ColC > ColB > ColA):

df['NewColD'] = df['ColC'].fillna(df['ColB']).fillna(df['ColA'])

3. 执行结果

运行后得到的DataFrame如下:

ColA ColB ColC NewColD
1    A  NaN  NaN       A
2    B    F  NaN       F
3    C    D    G       G

逻辑说明

  • df['ColC'].fillna(df['ColB']):优先保留ColC的非空值,ColC为空的位置用ColB的值填充
  • 再调用.fillna(df['ColA']):若经过上一步后仍有空值(即ColC和ColB均为空),则用ColA的值填充

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 03:20:14