Hướng dẫn python group similar strings in list - python nhóm các chuỗi tương tự trong danh sách
Tôi đã phải vật lộn sáng nay với một vấn đề tại văn phòng. Show Tôi cần tìm một cách để nhóm nhóm cùng nhau từ một danh sách. Thật khó để giải thích vì vậy đây là một ví dụ: Giả sử tôi có một danh sách như sau:
Tôi cần tìm cách nhóm các giá trị này lại với nhau tùy thuộc vào sự giống nhau của chúng:
Đó sẽ là trường hợp hoàn hảo. Rõ ràng nó có thể có lỗi (và ý chí). Tôi cần phải làm điều này với khoảng 10 000 danh sách chứa từ 5 đến 15 000 chuỗi mỗi chuỗi. Tôi cần giảm thiểu lỗi và nhận được các nhóm tốt nhất tôi có thể. Tôi đang sử dụng một phiên bản sửa đổi một chút của Những gì tôi đã thử là đặt một ngưỡng (giả sử 80), lặp lại trong danh sách, tạo ra một nhóm ra khỏi mỗi chuỗi và lấy ra các yếu tố nhân đôi. Rõ ràng đây không phải là kết quả tôi cần vì tôi cần mọi yếu tố chỉ xuất hiện trong một danh sách (và đó không phải là trường hợp vì A có thể được liên kết với B, B đến C nhưng không phải là A đến C).
Tôi nghĩ rằng có thể có một cách để tìm cấu hình tối ưu nhất từ đầu ra của tôi:
Có thể tìm thấy tập hợp con tối ưu nhất của danh sách này trong đó mỗi phần tử chỉ xuất hiện trong một nhóm? (Vì vậy, với điểm số cao nhất?) Hãy xem xét rằng danh sách của tôi sẽ lớn hơn, vì vậy tôi không thể kiểm tra mọi cấu hình vì sẽ mất nhiều năm. Khác, có một cách hiệu quả nào khác để làm những gì tôi đang cố gắng làm? Cảm ơn bạn! Xem thảo luận Cải thiện bài viết Lưu bài viết Xem thảo luận Cải thiện bài viết Lưu bài viết Đọc Python3Bàn luận Đôi khi chúng tôi có một ứng dụng trong đó chúng tôi yêu cầu nhóm các chuỗi tiền tố chung thành một ứng dụng để xử lý thêm có thể được thực hiện theo nhóm. Loại nhóm này rất hữu ích trong các trường hợp học máy và phát triển web. Hãy để thảo luận về một số cách nhất định trong đó điều này có thể được thực hiện. Phương pháp phân chia là khóa vì nó định nghĩa phân tách theo nhóm phải được thực hiện. Hàm Groupby thực hiện nhóm các yếu tố. & NBSP; 2
0 1 2 3 4 3 6 3 8 3__ 3 4 5 6 7____28 9 0 1 2 3 4
3 4fuzzywuzzy 7 6 7from 0The grouped list is : [[‘coder_2’, ‘coder_3’], [‘geek_1’, ‘geek_4’], [‘pro_3’]] Đầu ra: & nbsp; Python3Bàn luận Đôi khi chúng tôi có một ứng dụng trong đó chúng tôi yêu cầu nhóm các chuỗi tiền tố chung thành một ứng dụng để xử lý thêm có thể được thực hiện theo nhóm. Loại nhóm này rất hữu ích trong các trường hợp học máy và phát triển web. Hãy để thảo luận về một số cách nhất định trong đó điều này có thể được thực hiện. Phương pháp phân chia là khóa vì nó định nghĩa phân tách theo nhóm phải được thực hiện. Hàm Groupby thực hiện nhóm các yếu tố. & NBSP; 2
0 1 2 3 4 3 6 3 8 3__ 3 4 5 6 7____28 9 0 1 2 3 4
3 4fuzzywuzzy 7 6 7from 0The grouped list is : [[‘coder_2’, ‘coder_3’], [‘geek_1’, ‘geek_4’], [‘pro_3’]] Làm thế nào để bạn nhóm các giá trị trong một danh sách trong Python?Với itertools.groupby (), chỉ các yếu tố liên tiếp của cùng một giá trị được nhóm lại.Để nhóm chúng bất kể đặt hàng, hãy sắp xếp danh sách ban đầu với Sắp xếp ().Khi sắp xếp một danh sách các danh sách, theo mặc định, danh sách được sắp xếp theo phần tử đầu tiên của mỗi danh sách.itertools. groupby() , only consecutive elements of the same value are grouped. To group them regardless of order, sort the original list with sorted() . When sorting a list of lists, by default, the list is sorted by the first element of each list.
Làm thế nào để bạn nhóm các mục trong một danh sách?Nhóm các mục trong danh sách.. Trên danh sách, về phía bên phải, nhấp vào biểu tượng nhóm:..... Sử dụng tiêu đề cột đã chọn của bạn, nhấp và kéo vào khu vực nhóm..... Để thêm một nhóm phụ, kéo lên tiêu đề cột thứ hai..... Để hiển thị các thành viên riêng lẻ của một nhóm, nhấp vào + Mở rộng ở đầu bên trái của tiêu đề nhóm .. |