使用 pycountry 检查 name/common_name/official_name

ile*_*lee 5 python dataframe python-3.x pandas

我有一个数据框,其中“国家/地区”列包含我尝试转换为 alpha_3 国家/地区代码的国家/地区名称(在标有“代码”的新列中)。我为此使用 pycountry,但遇到了错误,因为一些国家/地区名称属于 pycountry“名称”,而其他国家/地区名称属于 pycountry“common_name”和“official_name”。

转换国家/地区列表时如何检查所有三个?作为参考,我目前正在使用以下函数来获取代码(现在它只查看“名称”):

def get_country_code(x):
    return pycountry.countries.get(name=x).alpha_3

df = get_data('data.csv')
df['Code'] = df['Country'].apply(get_country_code)
Run Code Online (Sandbox Code Playgroud)

编辑:样本数据:

Country
Afghanistan
Bolivia
Iran (Islamic Republic of)
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

pac*_*lik 4

使用pycountry.countries.lookup

>>> pycountry.countries.lookup('Bolivia')
Country(alpha_2='BO', alpha_3='BOL', common_name='Bolivia', name='Bolivia, Plurinational State of', numeric='068', official_name='Plurinational State of Bolivia')
Run Code Online (Sandbox Code Playgroud)