Liên kết tất cả lại với nhau!
Trong bài học trước, bạn đã hoàn thành phần lớn công việc để liên kết restaurants và restaurants_new. Bạn đã tạo các cặp hàng có thể trùng khớp, tìm các khớp chính xác giữa các cột cuisine_type và city, nhưng so sánh độ tương đồng chuỗi trong cột rest_name. Bạn đã lưu DataFrame chứa các điểm số vào potential_matches.
Giờ là lúc liên kết hai DataFrame. Trước tiên, bạn sẽ trích xuất tất cả chỉ mục hàng của restaurants_new trùng khớp trên các cột nêu trên từ potential_matches. Sau đó, bạn sẽ lọc restaurants_new theo các chỉ mục này, và cuối cùng nối các giá trị không trùng lặp với restaurants. Tất cả các DataFrame đều có trong môi trường của bạn, cùng với pandas đã được import là pd.
Bài tập này là một phần của khóa học
Làm sạch dữ liệu với Python
Hướng dẫn bài tập
- Lọc các bản ghi trong
potential_matchesnơi tổng theo hàng lớn hơn hoặc bằng 3 bằng phương thức.sum(). - Trích xuất cấp chỉ mục cột thứ hai từ
matches, đại diện cho chỉ mục hàng của bản ghi khớp từrestaurants_new, bằng phương thức.get_level_values(). - Lọc
restaurants_newcho các hàng không nằm trongmatching_indices. - Nối
restaurantsvànon_dup.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)