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
. Em seguida, você fará um subconjunto de restaurants_new
nesses índices e anexará os valores não duplicados a 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_matches
em 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_new
usando o método.get_level_values()
. - Crie um subconjunto de
restaurants_new
para linhas que não estão emmatching_indices
. - Anexe
non_dup
arestaurants
.
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.____(____)]
# Append non_dup to restaurants
full_restaurants = restaurants.____(____)
print(full_restaurants)