Hai să le unim!
În ultima lecție, ai finalizat cea mai mare parte a lucrului de legare a seturilor de date restaurants și restaurants_new. Ai generat perechile de rânduri potențial identice, ai căutat potriviri exacte în coloanele cuisine_type și city, dar ai comparat șiruri similare în coloana rest_name. Ai stocat DataFrame-ul cu scorurile în potential_matches.
Acum a venit în sfârșit momentul să legi cele două DataFrame-uri. Vei face asta extragând mai întâi toți indecșii de rând din restaurants_new care se potrivesc în coloanele menționate mai sus, pe baza potential_matches. Apoi vei selecta din restaurants_new rândurile corespunzătoare acestor indecși și, în final, vei concatena valorile non-duplicate cu restaurants. Toate DataFrame-urile sunt disponibile în mediul tău, iar pandas este importat ca pd.
Acest exercițiu face parte din cursul
Curățarea datelor în Python
Instrucțiuni pentru exercițiu
- Izolează instanțele din
potential_matchesunde suma pe rând este mai mare sau egală cu 3, folosind metoda.sum(). - Extrage al doilea index de coloană din
matches, care reprezintă indecșii de rând ai înregistrărilor potrivite dinrestaurants_new, folosind metoda.get_level_values(). - Selectează din
restaurants_newrândurile care nu se află înmatching_indices. - Concatenează
restaurantsșinon_dup.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)