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, und 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 bildest du eine Teilmenge von restaurants_new mit diesen Indizes und fügst schließlich die nicht doppelten Werte mit restaurants zusammen. 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 Drei 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. - Verbinde
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)