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

Pandas中如何将指定列的特定字符串替换为另一列的对应取值

Pandas列条件替换实现方法

你可以通过以下几种方式实现需求,推荐优先使用loc条件赋值方案,逻辑清晰且性能最优:

方法1:loc条件赋值(推荐)

直接定位到location1取值为Singapore的行,将对应位置的location2值赋值给location1即可:

df.loc[df['location1'] == 'Singapore', 'location1'] = df['location2']

方法2:mask方法(适合链式调用场景)

如果需要在pandas链式操作中完成替换,可以用mask方法,当条件为真时替换为指定值:

df['location1'] = df['location1'].mask(df['location1'] == 'Singapore', df['location2'])

方法3:np.where条件赋值(适合多条件场景)

如果有多个替换规则,也可以用numpy的where方法实现:

import numpy as np
df['location1'] = np.where(df['location1'] == 'Singapore', df['location2'], df['location1'])

以上三种方法运行后得到的结果一致,修改后的location1列值如下:

0           London, Paris
1  Tokyo, Boston, Toronto
2        London, New York
3       Hong Kong, Boston
4                  Boston
Name: location1, dtype: object

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:24:05