¡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 subconjuntarás restaurants_new
en estos índices, y luego añadirás los valores no duplicados a 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 de ejercicio
- Aísla los casos de
potential_matches
en 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_new
utilizando el método.get_level_values()
. - Subconjunto
restaurants_new
para las filas que no están enmatching_indices
. - Añade
non_dup
arestaurants
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este 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.____(____)]
# Append non_dup to restaurants
full_restaurants = restaurants.____(____)
print(full_restaurants)