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

如何基于Column_A筛选后填充NaN值:abc补team 1,def补team 2

解决方案

原始数据

Column_AColumn_B
abcteam 1
defteam 5
defteam 5
defNaN
abcteam 1
abcNaN

实现步骤(使用Pandas)

以下是两种简洁的实现方式,均能满足先按Column_A筛选、再按规则填充Column_B空值的需求:

方法1:通过loc定位条件行填充

import pandas as pd
import numpy as np

# 构造原始数据
data = {
    'Column_A': ['abc', 'def', 'def', 'def', 'abc', 'abc'],
    'Column_B': ['team 1', 'team 5', 'team 5', np.nan, 'team 1', np.nan]
}
df = pd.DataFrame(data)

# 按规则填充NaN值
df.loc[(df['Column_A'] == 'abc') & (df['Column_B'].isna()), 'Column_B'] = 'team 1'
df.loc[(df['Column_A'] == 'def') & (df['Column_B'].isna()), 'Column_B'] = 'team 2'

方法2:使用np.where批量逻辑处理

import pandas as pd
import numpy as np

df = pd.DataFrame(data)

# 嵌套条件判断填充
df['Column_B'] = np.where(
    (df['Column_A'] == 'abc') & (df['Column_B'].isna()),
    'team 1',
    np.where(
        (df['Column_A'] == 'def') & (df['Column_B'].isna()),
        'team 2',
        df['Column_B']
    )
)

处理后结果

Column_AColumn_B
abcteam 1
defteam 5
defteam 5
defteam 2
abcteam 1
abcteam 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:50:52