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 erstellst du eine Teilmenge von restaurants_new
anhand dieser Indizes und fügst die nicht-duplizierten Werte an restaurants
an. 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_new
darstellt, indem du die Methode.get_level_values()
verwendest. - Erstelle eine Teilmenge von
restaurants_new
für Zeilen, die nicht inmatching_indices
sind. - Füge
non_dup
anrestaurants
an.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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.____(____)]
# Append non_dup to restaurants
full_restaurants = restaurants.____(____)
print(full_restaurants)