Propojení dat!
V poslední lekci jsi zvládl/a největší část práce na propojení restaurants a restaurants_new. Vygeneroval/a jsi různé páry potenciálně shodných řádků, hledal/a jsi přesné shody ve sloupcích cuisine_type a city a porovnával/a jsi podobné řetězce ve sloupci rest_name. DataFrame s výsledným skóre jsi uložil/a do potential_matches.
Teď je konečně čas oba DataFramy propojit. Nejprve z potential_matches extrahuješ všechny indexy řádků restaurants_new, které odpovídají ve výše zmíněných sloupcích. Pak restaurants_new zreduješ na tyto indexy a nakonec připojíš neduplicitní záznamy k restaurants. Všechny DataFramy jsou dostupné v prostředí spolu s pandas importovaným jako pd.
Toto cvičení je součástí kurzu
Čištění dat v Pythonu
Pokyny k cvičení
- Z
potential_matchesvyber záznamy, kde je součet řádku větší nebo roven 3 – použij metodu.sum(). - Z
matchesextrahuj druhý sloupcový index, který představuje indexy řádků shodných záznamů zrestaurants_new– použij metodu.get_level_values(). - Z
restaurants_newvyber řádky, které nejsou vmatching_indices. - Spoj
restaurantsanon_duppomocípd.concat().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)