当迭代字典来修改数据帧时,有什么Pythonic方法可以摆脱这个循环?

2024-09-26 22:50:24 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

“韩国,共和国”:“韩国”, “伊朗,伊斯兰共和国”:“伊朗”, “香港特区,中国”:“香港”

这些国家名称位于数据框的“国家”列中

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


Tags: 代码nameinnewfor国家oldiran
1条回答
网友
1楼 · 发布于 2024-09-26 22:50:24

我想你可以完全去掉这个循环:

#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接受dict,所以它已经执行了您试图执行的操作,也就是说,如果它匹配任何键,它将用相应的值替换它。你知道吗

相关问题 更多 >

    热门问题