¡Enlazándolos!
En la última lección, has terminado la mayor parte del trabajo en tu esfuerzo por vincular restaurants y restaurants_new. Has generado los distintos pares de filas potencialmente coincidentes, has buscado coincidencias exactas entre las columnas cuisine_type y city, pero has comparado cadenas similares en la columna rest_name. Has almacenado el DataFrame que contiene las puntuaciones en potential_matches.
Por fin ha llegado el momento de enlazar ambos DataFrames. Lo harás extrayendo primero todos los índices de fila de potential_matches que coincidan en las columnas mencionadas anteriormente de restaurants_new. A continuación, se creará un subconjunto de restaurants_new en estos índices y, por último, se concatenarán los valores no duplicados con restaurants. Todos los DataFrames están en tu entorno, junto a pandas importado como pd.
Este ejercicio forma parte del curso
Limpieza de datos en Python
Instrucciones del ejercicio
- Aísla los casos de
potential_matchesen los que la suma de filas sea superior o igual a 3 utilizando el método.sum(). - Extrae el índice de la segunda columna de
matches, que representa los índices de fila del registro coincidente derestaurants_newutilizando el método.get_level_values(). - Subconjunto
restaurants_newpara las filas que no están enmatching_indices. - Concatenar
restaurantsynon_dup.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Isolate potential matches with row sum >=3
matches = ____[____.___(____) >= ____]
# Get values of second column index of matches
matching_indices = matches.____.____(____)
# Subset restaurants_new based on non-duplicate values
non_dup = ____[~restaurants_new.index.____(____)]
# Concatenate restaurants and non_dup
full_restaurants = pd.____([____, ____])
print(full_restaurants)