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

时间:2017-06-09 19:03:57

标签: python pandas dataframe

#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循环让我烦恼。

1 个答案:

答案 0 :(得分:5)

我认为你可以完全取消循环:

#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)

由于替换是一个字典,它已经完成了您尝试做的事情,即如果它匹配任何键,它将用相应的值替换它。