将一个列表中的字符串替换为另一列表中的字符串

时间:2019-04-11 01:45:36

标签: python pandas

我有两个类似的城市名称列表:

old_city = ['DORCHESTER', 'SOUTH EASTON', 'ASHLEY FALLS']
new_city = ['BOSTON', 'EASTON', 'SHEFFIELD']

在数据框的一列中,我想将old_city中的每个城市替换为new_city中的相应城市名称。我正在做的是:

data['city'] = data['city'].replace('DORCHESTER','BOSTON')
data['city'] = data['city'].replace('SOUTH EASTON','EASTON')
data['city'] = data['city'].replace('ASHLEY FALLS','SHEFFIELD')

但是考虑到我要替换一百多个名字,所以这效率很低...

是否有关于更好方法的建议?我读过其他类似的问题,但似乎没有一个类似这里的两个列表...

非常感谢您的建议。

2 个答案:

答案 0 :(得分:1)

使用

data['city'] = data['city'].replace(dict(zip(old_city,new_city)))

答案 1 :(得分:0)

使用data.replace(old_city,new_city)