Поєднаємо їх разом!
У попередньому уроці ви виконали основну частину роботи з пов’язування restaurants і restaurants_new. Ви згенерували різні пари потенційно відповідних рядків, шукали точні збіги в стовпцях cuisine_type і city, а для стовпця rest_name порівнювали схожість рядків. Датафрейм із балами ви зберегли в potential_matches.
Тепер нарешті час пов’язати обидва датафрейми. Спочатку ви витягнете з potential_matches всі індекси рядків restaurants_new, що збігаються за вказаними вище стовпцями. Потім відфільтруєте restaurants_new за цими індексами, а насамкінець об’єднаєте неповторювані значення з restaurants. У вашому середовищі доступні всі датафрейми, а також pandas, імпортований як pd.
Ця вправа є частиною курсу
Очищення даних у Python
Інструкції до вправи
- Відіберіть екземпляри
potential_matches, у яких сума по рядку більша або дорівнює 3, використавши метод.sum(). - Видобудьте другий рівень індексу стовпців із
matches, який представляє індекси рядків відповідних записів ізrestaurants_new, за допомогою методу.get_level_values(). - Зробіть підвибірку
restaurants_newдля рядків, яких немає вmatching_indices. - Об’єднайте
restaurantsіnon_dup.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)