我有一个带有国家/地区名称的数据框,并且想根据字典来修改某些值:
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 = (energy['Country'].isin(enDict))
但是,我只想在'True'不修改字典中不包含的值时(即保持各行的值不匹配),才将该掩码应用于'Country'列。
任何的想法?
提前致谢。
最佳答案
我们可以使用Series.replace()方法:
energy['Country'] = energy['Country'].replace(enDict, regex=True)
关于python - Pandas :根据字典更改列值,保留不匹配的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45362150/