НачатьНачать бесплатно

Объединяем всё вместе!

В последнем уроке вы выполнили основную часть работы по связыванию 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)
Редактировать и запускать код