亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 pandas 和 fuzzwuzzy 匹配相似的列元素

使用 pandas 和 fuzzwuzzy 匹配相似的列元素

慕勒3428872 2021-07-02 18:01:03
我有一個 excel 文件,其中一列包含 1000 多個公司名稱,另一列包含大約 20,000 個公司名稱。目標是匹配盡可能多的名稱。問題是第一列(1000+)中的名稱格式不正確,這意味著“公司名稱”字符串可能類似于“9Com(panynAm9e00”。我正在嘗試找出解決此問題的最佳方法。(僅12 個名字完全匹配)在嘗試了不同的方法后,我最終嘗試使用正則表達式匹配每個名稱中的 4-5 個或更多字符,具體取決于每個字符串的長度。但我只是在努力尋找最有效的方法來做到這一點。例如:第 1 欄 1. 9Com(panynAm9e00  2. NikE4  3. Mitrosof2第 2 欄 1. Microsoft 2. Company Name 3. Nike取第1 列中的第一個元素并在第 2 列中查找匹配項。如果沒有完全匹配,則查找具有 4-5 個相同字符的字符串。有什么建議么?
查看完整描述

2 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

我想數字在實際公司名稱中并不是很常見,因此初始過濾步驟將極大地幫助前進,但這里有一個實現,即使沒有這個也應該可以相對良好地工作。一個信袋(bag-of-words)方法,如果你愿意:

  1. 將所有內容(第 1 列和第 2 列)轉換為小寫

  2. 對于第 2 列中的每個已知公司,存儲每個唯一字母以及它在字典中出現的次數(計數)

  3. 對第 1 列中的每個條目執行相同操作(步驟 2)

  4. 對于第 1 列中的每個條目,從真實公司名稱列表中找到最接近的信袋(步驟 2 中的字典)

字典距離的實現取決于你。


查看完整回答
反對 回復 2021-07-06
  • 2 回答
  • 0 關注
  • 221 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號