簡體   English   中英

Python:從兩個數據框中匹配相似但不相同的名稱的查找方法

[英]Python: Find method to match similar but not identical names from two data frames

我有兩個數據框,一個包含客戶打開的服務請求,第二個包含客戶的訂單。 我想在客戶名稱上合並這兩個數據框,但問題是名稱不相同,因為它們來自兩個不同的來源。 只是一個虛構的例子:數據框 1 可以有“Facebook, Inc.” 數據框2可以是“facebook社交媒體”。

我嘗試使用 SequenceMatcher(來自 difflib 導入 SequenceMatcher)並在數據幀 1 中以每個客戶的最高比率獲取結果,但准確性不夠好。

我很高興聽到遇到同樣問題的人的想法。

謝謝。

您可以使用fuzzywuzzy庫或editdistance包中的優化Levenstein 距離。 優化的 Levenstein 距離僅使用最后兩行而不是經典的二維矩陣。 為了計算相似度,請使用下一個公式:

ratio = 1 - levenstein(a, b) / max(len(a), len(b))

此外,您可以使用 Damerau-Levenstein 修改。 它允許計算字符換位而不是刪除/插入操作。

https://pypi.org/project/pyxDamerauLevenshtein/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM