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

如何在Pandas数据框中为匹配列追加字符串(避免误改列)

解决Pandas中仅指定列追加文本的问题

嘿,我懂你碰到的麻烦了——你本来只想在columns1和columns2值匹配的行里,给这两列加上(Match)后缀,结果连columns0也被自动追加了文本,这肯定不是你想要的效果对吧?

问题根源

你之前用的代码:

df.loc[(df['columns1'] == df['columns2']), :] += ' (Match)'

这里的: 代表选中了所有列,所以只要行满足匹配条件,整行的每一列都会执行追加操作,自然columns0也被修改了。

正确实现方法

只需要把: 替换成你要修改的列名列表,明确指定只操作columns1和columns2即可:

# 仅针对目标列进行修改
df.loc[df['columns1'] == df['columns2'], ['columns1', 'columns2']] += ' (Match)'

效果对比

输入数据:

columns0columns1columns2
row1billbill
row2$0.00$0.00
row3Free$1.25
row4$1.50$1.25

执行代码后的输出:

columns0columns1columns2
row1bill(Match)bill(Match)
row2$0.00(Match)$0.00(Match)
row3Free$1.25
row4$1.50$1.25

这样就精准实现了你想要的效果——只有匹配的columns1和columns2会加上后缀,columns0保持原样。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:12:18