我有一个数据框,其中“国家/地区”列包含我尝试转换为 alpha_3 国家/地区代码的国家/地区名称(在标有“代码”的新列中)。我为此使用 pycountry,但由于某些国家/地区名称属于 pycountry 'name',而其他国家/地区名称属于 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)

编辑:示例数据:
Country
Afghanistan
Bolivia
Iran (Islamic Republic of)

任何帮助,将不胜感激!

最佳答案

使用 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')

关于python - 使用 pycountry 检查 name/common_name/official_name,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47919846/

10-12 23:12