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

如何在Python中匹配指定列值后为多列填充对应特定值

实现方案

你可以直接用pandas的布尔索引实现需求,两种常用写法如下:

写法1:单规则直接赋值(适合规则少的场景)

直接筛选出id列为d_in的行,对应列赋值即可:

# 生成匹配行的布尔掩码
mask = df['id'] == 'd_in'
# 批量给指定列赋值
df.loc[mask, 'start'] = 'din'
df.loc[mask, 'stat'] = 8

写法2:字典映射规则(适合多规则扩展场景)

如果后续需要增加更多匹配规则,可以把规则统一存在字典里,避免重复写逻辑:

# 定义匹配规则:键为id列要匹配的值,值为各列要填充的内容
fill_map = {
    'd_in': {'start': 'din', 'stat': 8}
    # 后续加新规则直接在这里加就行,比如:
    # 'hello': {'start': 'h', 'stat': 5}
}

# 遍历应用规则
for match_id, cols in fill_map.items():
    match_mask = df['id'] == match_id
    for col, fill_val in cols.items():
        df.loc[match_mask, col] = fill_val

两种写法运行后都能得到你要的预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:30:03