我有一个带有国家/地区名称的数据框,并希望根据字典修改一些值:
enDict = {
"Republic of Korea": "South Korea",
"United States of America": "United States",
"United Kingdom of Great Britain and Northern Ireland": "United Kingdom",
"China, Hong Kong Special Administrative Region": "Hong Kong"
}
我可以用:
创建一个'mask'mask = (energy['Country'].isin(enDict))
但是,我想在'Country'列中仅在'True'时应用该掩码,而不是修改字典中未包含的值,即保持行的值不匹配。
有什么想法吗?
提前致谢。
答案 0 :(得分:2)
我们可以使用Series.replace()方法:
energy['Country'] = energy['Country'].replace(enDict, regex=True)