我有两个类似的城市名称列表:
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')
但是考虑到我要替换一百多个名字,所以这效率很低...
是否有关于更好方法的建议?我读过其他类似的问题,但似乎没有一个类似这里的两个列表...
非常感谢您的建议。
答案 0 :(得分:1)
使用
data['city'] = data['city'].replace(dict(zip(old_city,new_city)))
答案 1 :(得分:0)
使用data.replace(old_city,new_city)