标准化公司名称
Posted
技术标签:
【中文标题】标准化公司名称【英文标题】:Standardizing company names 【发布时间】:2021-09-26 18:08:05 【问题描述】:我有一份公司名称列表,但其中有拼写错误和变体。我怎样才能最好地解决这个问题,以便每个公司都有一致的命名约定(以后groupby
、sort_value
等)?
pd.DataFrame('Company': ['Disney','Dinsey', 'Walt Disney','General Motors','General Motor','GM','GE','General Electric','J.P. Morgan','JP Morgan'])
【问题讨论】:
【参考方案1】:一个很好的提示:FuzzyWuzzy 库。 “像老板一样的模糊字符串匹配。它使用 Levenshtein Distance 来计算序列之间的差异,在一个简单易用的包中。” 示例:
from fuzzywuzzy import process
from fuzzywuzzy import fuzz
str2Match = "apple inc"
strOptions = ["Apple Inc.","apple park","apple incorporated"]
Ratios = process.extract(str2Match,strOptions)
print(Ratios)
# You can also select the string with the highest matching percentage
highest = process.extractOne(str2Match,strOptions)
print(highest)
输出:
[('Apple Inc.', 100), ('apple incorporated', 90), ('apple park', 67)]
('Apple Inc.', 100)
现在您只需创建一个包含“正确名称”的列表并针对它运行所有变体,这样您就可以选择最佳比率并将其替换到您的数据集上。
【讨论】:
谢谢 - 我也是这么想的,但我的挑战是“好名声”的名单不断变化。 嗯.. 你不能自动化一个脚本来将它从网站上废弃吗?以上是关于标准化公司名称的主要内容,如果未能解决你的问题,请参考以下文章