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

Python 将一个列表中的字符串替换为另一个列表中的字符串,python,pandas,Python,Pandas,我有两个城市名称列表,如下所示: old_city = ['DORCHESTER', 'SOUTH EASTON', 'ASHLEY FALLS'] new_city = ['BOSTON', 'EASTON', 'SHEFFIELD'] 在我的dataframe的一列中,我想用new_city中相应的城市名称替换old_city中的每个城市。我正在做的是: data['city'] = data['city'].replace('DORCHESTER','BOSTON') data['cit

我有两个城市名称列表,如下所示:

old_city = ['DORCHESTER', 'SOUTH EASTON', 'ASHLEY FALLS']
new_city = ['BOSTON', 'EASTON', 'SHEFFIELD']
在我的dataframe的一列中,我想用new_city中相应的城市名称替换old_city中的每个城市。我正在做的是:

data['city'] = data['city'].replace('DORCHESTER','BOSTON')
data['city'] = data['city'].replace('SOUTH EASTON','EASTON')
data['city'] = data['city'].replace('ASHLEY FALLS','SHEFFIELD')
但这是非常低效的,因为我有100多个名字要替换

对更好的方法有什么建议吗?我读过其他类似的问题,但没有一个像这里这样有两个列表

非常感谢您的建议。

请随便用

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

使用
data.replace(旧城市、新城市)

实际上
data['city']
不是一个列表,对吗?这是一个pandas.Series是
数据['city']
是pandas.Series,数据框架中的一列这非常有用!!非常感谢你的建议!