2017-03-18 64 views
0

我正在處理具有「不潔」字符串列的數據集。這些是公司名稱,其中大多數是手動輸入的,所以存在拼寫錯誤和不同形式的表示。該數據集列看起來是這樣的:使字符串列在熊貓中保持一致/清潔

company_name 
big compnay 
big company 
big company inc. 
smll compny 
small company 
small inc. 

我想編輯上面列類似如下:

company_name 
big company 
big company 
big company 
small company 
small company 
small company 

數據點的數量比可以手動清潔大得多。我會很感激任何建議/幫助/建議。我已嘗試使用模塊,如fuzzywuzzy,但我無法弄清楚處理上述問題的最佳方法。

謝謝。

+0

我不認爲熊貓有內置函數來處理它。可能是你可以嘗試創建一個字符映射或距離矢量方法的函數來處理它 –

+0

這個練習的目的是什麼?你能展示一個從「髒」到「乾淨」數據的示例映射嗎? –

+0

@JijoJose對,我現在正在努力。這是我從來沒有做過的事... –

回答

0

您可以利用概率拼寫糾正器來糾正單詞中一個或兩個編輯距離的單詞,這些單詞的數據集中出現頻率要高得多。這裏提供了一個Python實現:http://norvig.com/spell-correct.html

+0

嗯......謝謝!我會試試這個 –

+0

這似乎需要一個「正確」單詞的「語料庫」。就我而言,這需要一個「正確的」公司名稱列表。這是可行的,但需要幾天的時間才能手動通過它們以獲取「正確」的公司名稱列表。然後我可以做一些類似'get_closest_matches'的事情。 –

+0

避免手動選擇的一種方法是根據數據集中出現的次數爲每個值分配概率分數。例如,我期望概率['smll compny']