Verbinde sie miteinander!
In der letzten Lektion hast du den größten Teil der Arbeit an der Verknüpfung von restaurants und restaurants_new abgeschlossen. Du hast die verschiedenen Paare von potenziell übereinstimmenden Zeilen erstellt, nach exakten Übereinstimmungen zwischen den Spalten cuisine_type und city gesucht, aber nach ähnlichen Zeichenketten in der Spalte rest_name verglichen. Du hast den DataFrame mit den Werten in potential_matches gespeichert.
Jetzt ist es endlich an der Zeit, die beiden DataFrames zu verknüpfen. Dazu extrahierst du zunächst alle Zeilenindizes von restaurants_new, die mit den oben genannten Spalten übereinstimmen, aus potential_matches. Dann machst du eine Teilmenge von „ restaurants_new “ anhand dieser Indizes und hängst schließlich die nicht doppelten Werte mit „ restaurants “ aneinander. Alle DataFrames befinden sich in deiner Umgebung, neben pandas, das als pd importiert wurde.
Diese Übung ist Teil des Kurses
Datenbereinigung in Python
Anleitung zur Übung
- Isoliere Instanzen von
potential_matches, bei denen die Zeilensumme größer oder gleich 3 ist, indem du die Methode.sum()verwendest. - Extrahiere den zweiten Spaltenindex aus
matches, der die Zeilenindizes des übereinstimmenden Datensatzes ausrestaurants_newdarstellt, indem du die Methode.get_level_values()verwendest. - Erstelle eine Teilmenge von
restaurants_newfür Zeilen, die nicht inmatching_indicessind. - Verknüpfe
restaurantsundnon_dup.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)