Объединяем всё вместе!
В последнем уроке вы выполнили основную часть работы по связыванию restaurants и restaurants_new. Вы сформировали пары потенциально совпадающих строк, проверили точные совпадения в столбцах cuisine_type и city, а для столбца rest_name выполнили сравнение по схожести строк. DataFrame с оценками сохранён в переменной potential_matches.
Теперь наконец пришло время объединить оба DataFrame. Для этого сначала извлеките все индексы строк из restaurants_new, которые совпадают по указанным столбцам согласно potential_matches. Затем отфильтруйте restaurants_new по этим индексам и, наконец, объедините уникальные записи с restaurants. Все DataFrame'ы доступны в вашем окружении, а библиотека 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)