Zacznij terazZacznij za darmo

Łączymy wszystko w całość!

W ostatniej lekcji wykonałeś większość pracy związanej z łączeniem zbiorów restaurants i restaurants_new. Wygenerowałeś różne pary potencjalnie pasujących wierszy, wyszukałeś dokładne dopasowania w kolumnach cuisine_type i city, a dla kolumny rest_name porównałeś podobieństwo ciągów tekstowych. Wyniki zostały zapisane w ramce danych potential_matches.

Nadszedł czas, żeby połączyć obie ramki danych. Zacznij od wyodrębnienia indeksów wierszy ze zbioru restaurants_new, które są zgodne z dopasowaniami w potential_matches. Następnie przefiltruj restaurants_new według tych indeksów i połącz zduplikowane wartości z ramką restaurants. Wszystkie ramki danych są dostępne w środowisku, a biblioteka pandas jest zaimportowana jako pd.

To ćwiczenie jest częścią kursu

Czyszczenie danych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyfiltruj wiersze potential_matches, w których suma wartości w wierszu jest większa lub równa 3 – użyj metody .sum().
  • Wyodrębnij drugi indeks kolumny z matches, który reprezentuje indeksy pasujących wierszy z restaurants_new, korzystając z metody .get_level_values().
  • Przefiltruj restaurants_new tak, żeby zachować tylko wiersze, które nie znajdują się w matching_indices.
  • Połącz restaurants i non_dup za pomocą pd.concat().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod