Aan de slagGa gratis aan de slag

Alles aan elkaar koppelen!

In de vorige les heb je het grootste deel van het werk voltooid om restaurants en restaurants_new te koppelen. Je hebt verschillende paren met mogelijk overeenkomende rijen gegenereerd, exact gezocht naar overeenkomsten in de kolommen cuisine_type en city, en vergelijkbare strings vergeleken in de kolom rest_name. De DataFrame met de scores heb je opgeslagen in potential_matches.

Nu is het eindelijk tijd om beide DataFrames te koppelen. Dat doe je door eerst alle rij-indexen van restaurants_new te extraheren die overeenkomen op de bovenstaande kolommen uit potential_matches. Vervolgens subset je restaurants_new op deze indexen en voeg je tot slot de niet-duplicaatwaarden samen met restaurants. Alle DataFrames staan in je omgeving, en pandas is geïmporteerd als pd.

Deze oefening maakt deel uit van de cursus

Data opschonen in Python

Cursus bekijken

Oefeninstructies

  • Isoleer rijen in potential_matches waarvoor de rijsom groter dan of gelijk aan 3 is met de methode .sum().
  • Extraheer de tweede kolomindex uit matches, die de rij-indexen van overeenkomende records uit restaurants_new voorstelt, met de methode .get_level_values().
  • Subselecteer restaurants_new voor rijen die niet in matching_indices staan.
  • Concateneer restaurants en non_dup.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren