Reemplazar la columna en el dataframe desde la búsqueda de otro dataframe

Hola, tengo dos marcos de datos, uno que contiene: –

Country Code | Population

y otro que contiene: –

 

Country Code | Country Name.

Quiero hacer un reemplazo en el primer dataframe para que CountryCode = CountryName donde corresponda. Es importante tener en cuenta si la búsqueda falló, es decir, ningún CountryCode coincide en el segundo dataframe que quisiera mantener como está. ¿Alguna idea de cómo se puede hacer esto?

Muestra:-

 

Country Code | Population

RSA | 100

POL | 50

Country Code | Country Name

RSA | South Africa

Salida esperada para DF1

 

Country Code | Population

South Africa | 100

POL | 50

Related of "Reemplazar la columna en el dataframe desde la búsqueda de otro dataframe"

Si sus 2 marcos de datos son df1 y df2 respectivamente, esta es una forma:

 s = df2.set_index('Country Code')['Country Name'] df1['Country Code'] = df1['Country Code'].map(s).fillna(df1['Country Code']) 

Esto también es posible a través de replace , pero map + fillna es generalmente más eficiente.

Utilice replace por Series creadas por set_index :

 s = DF2.set_index('Country Code')['Country Name'] DF1['Country Code'] = DF1['Country Code'].replace(s) print (DF1) Country Code Population 0 South Africa 100 1 POL 50