Conectando-os!
Na última lição, você concluiu a maior parte do trabalho em sua tentativa de vincular restaurants e restaurants_new. Você gerou os diferentes pares de linhas potencialmente correspondentes, procurou por correspondências exatas entre as colunas cuisine_type e city, mas comparou strings semelhantes na coluna rest_name. Você armazenou o DataFrame que contém as pontuações em potential_matches.
Agora, finalmente, é hora de vincular os dois DataFrames. Para isso, você extrairá primeiro todos os índices de linha de restaurants_new que correspondam às colunas mencionadas acima em potential_matches. Depois, você vai pegar um subconjunto de restaurants_new nesses índices e, por fim, juntar os valores que não estão duplicados com restaurants. Todos os DataFrames estão em seu ambiente, juntamente com pandas importado como pd.
Este exercício faz parte do curso
Limpeza de dados em Python
Instruções do exercício
- Isole as instâncias de
potential_matchesem que a soma das linhas é maior ou igual a 3 usando o método.sum(). - Extraia o segundo índice de coluna de
matches, que representa os índices de linha do registro correspondente derestaurants_newusando o método.get_level_values(). - Crie um subconjunto de
restaurants_newpara linhas que não estão emmatching_indices. - Junta
restaurantsenon_dup.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)