在迭代字典以修改熊猫数据帧时,Pythonic 摆脱此循环的方法是什么?


#replacing each country in dicts's keys with the corresponding dicts value
dicts = {"Korea, Rep.": "South Korea", 
         "Iran, Islamic Rep.": "Iran",
         "Hong Kong SAR, China": "Hong Kong"}
for old_name, new_name in dicts.items():
    GDP['Country'].replace({old_name : new_name}, inplace = True)

此代码的目的是重命名以下国家/地区列表:

"韩国共和国": "韩国","伊朗,伊斯兰共和国": "伊朗","中国香港特别行政区": "香港">

这些国家/地区名称位于 GDP 熊猫数据框的"国家/地区"列中

代码是正确的,但 for 循环困扰着我。

我认为你可以完全去掉循环:

#replacing each country in dicts's keys with the corresponding dicts value
dicts = {"Korea, Rep.": "South Korea", 
         "Iran, Islamic Rep.": "Iran",
         "Hong Kong SAR, China": "Hong Kong"}
GDP['Country'].replace(dicts, inplace = True)

由于 replace 需要字典,它已经完成了您尝试执行的操作,即如果它匹配任何键,它将用相应的值替换它。

最新更新