如何在pandas中使用country_converter将国家/地区代码转换为名称

asd*_*asd 2 python country-codes dataframe python-3.x pandas

df
         Date        Value CODE
0      2020-03-12      7  AFG
1      2020-03-11      7  AFG
...
Run Code Online (Sandbox Code Playgroud)

我如何从代码生成国家/地区?我尝试从 CODE 变量生成代码

import country_converter as coco
df['country'] = df['CODE'].apply(coco.convert)
Run Code Online (Sandbox Code Playgroud)
Actual Output:
         Date        Value CODE  country
0      2020-03-12      7  AFG     AFG  
1      2020-03-11      7  AFG     AFG 
Run Code Online (Sandbox Code Playgroud)
Expected Output:
         Date        Value CODE  country
0      2020-03-12      7  AFG     Afghanistan  
1      2020-03-11      7  AFG     Afghanistan  
Run Code Online (Sandbox Code Playgroud)

Tre*_*ney 5

  • 根据country_converter文档。
  • to和参数的有效值src可以通过 找到coco.CountryConverter().valid_class
import country_converter as coco
import pandas as pd

# setupt test dataframe
df = pd.DataFrame({'code': ['AFG', 'USA', 'RU']})

# add country name by applying the convert method
df['short name'] = df.code.apply(lambda x: coco.convert(names=x, to='name_short', not_found=None))

# display(df)
  code     short name
0  AFG    Afghanistan
1  USA  United States
2   RU         Russia

# converting the column to a list and passing it to the method also works to add the short name
df['short name'] = coco.convert(names=df.code.tolist(), to='name_short', not_found=None)
Run Code Online (Sandbox Code Playgroud)