我有一个数据框,其中“国家/地区”列包含我尝试转换为 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/