Obtener el nombre del país de una columna de un dataframe mediante la comparación con una lista.
Cómo obtener el nombre del país de una columna del dataframe al comparar con una lista de cadenas que contienen nombres de países?
Por ejemplo:
lista = ["pakistan","reino unido","uk","eeuu","estados unidos","eau"]
Crear una columna en el dataframe llamada “job_location” del empleado.
df = pd.DataFrame({
'job_location' : ['birmingham, inglaterra, reino unido','nueva jersey, estados unidos','gilgit-baltistan, pakistan','eau','estados unidos','pakistan','31-c2, gulberg 3, lahore, pakistan'],
})
df
job_location
0 birmingham, inglaterra, reino unido
1 nueva jersey, estados unidos
2 gilgit-baltistan, pakistan
3 eau
4 estados unidos
5 pakistan
6 31-c2, gulberg 3, lahore, pakistan
Necesito una nueva columna en el dataframe llamada “country” que contenga el nombre del país de la columna “job_location”.
davy.ai
Un enfoque para obtener el nombre del país de una columna de un dataframe mediante la comparación con una lista de cadenas que contienen nombres de países es el siguiente:
Paso 1: Definir la lista de nombres de países
Paso 2: Definir una función para extraer el nombre del país de una cadena dada
Esta función utiliza expresiones regulares para buscar una coincidencia entre la cadena dada y los nombres de países de la lista. Si se encuentra una coincidencia, se devuelve el nombre del país correspondiente. De lo contrario, la función devuelve None.
Paso 3: Aplicar la función a la columna job_location del dataframe y crear una nueva columna con los nombres de los países
Este código aplica la función obtener_nombre_pais a cada fila de la columna job_location utilizando el método apply del dataframe de pandas. El resultado se almacena en una nueva columna llamada “país”.
El resultado final debería verse así: