繁体   English   中英

如何将 IOC 国家代码转换为国家名称?

[英]How do I convert an IOC country code to country name?

我有一个 pandas dataframe

import pandas as pd

s = pd.DataFrame({'ioc' : ['ESP', 'CYP', 'USA', 'ESP', 'NED']})

我想回来

out = pd.DataFrame(
    {'ioc' : ['ESP', 'CYP', 'USA', 'ESP', 'NED'],
     'countryName' : ['Spain', 'Cyprus', 'United States of America',
                      'Spain', 'Netherlands']})
import pycountry

def foo(a):
    country = pycountry.countries.get(alpha_3=a)
    return country.name if country else "NA"
    
s.ioc.apply(foo)
0            Spain
1           Cyprus
2    United States
3            Spain
4               NA
Name: ioc, dtype: object

使用国际奥委会国家代码列表

ioc = pd.read_html('https://en.wikipedia.org/wiki/List_of_IOC_country_codes')[0]
ioc = ioc.assign(Code=ioc['Code'].str[-3:]).set_index('Code')['National Olympic Committee']

s['countryName'] = s['ioc'].map(ioc)
print(s)

# Output:
   ioc    countryName
0  ESP          Spain
1  CYP         Cyprus
2  USA  United States
3  ESP          Spain
4  NED    Netherlands

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM