How to convert country code to name with country_converter, in pandas

Question:

df
         Date        Value CODE
0      2020-03-12      7  AFG
1      2020-03-11      7  AFG
...

How could I generate the country from the code? I tried which just generated the code from the CODE variable

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

||

Answers:

  • As per the country_converter documentation.
  • Valid values for the to and src parameters can be found with 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)
Answered By: Trenton McKinney