标准化公司名称

Posted

技术标签:

【中文标题】标准化公司名称【英文标题】:Standardizing company names 【发布时间】:2021-09-26 18:08:05 【问题描述】:

我有一份公司名称列表,但其中有拼写错误和变体。我怎样才能最好地解决这个问题,以便每个公司都有一致的命名约定(以后groupbysort_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)

现在您只需创建一个包含“正确名称”的列表并针对它运行所有变体,这样您就可以选择最佳比率并将其替换到您的数据集上。

【讨论】:

谢谢 - 我也是这么想的,但我的挑战是“好名声”的名单不断变化。 嗯.. 你不能自动化一个脚本来将它从网站上废弃吗?

以上是关于标准化公司名称的主要内容,如果未能解决你的问题,请参考以下文章

公司的 iPhone 程序标准?

云计算领域12项国家标准获批正式发布

GB/T 38942-2020 压力管道规范 公用管道

GB/T 38969-2020 电力系统技术导则

JGJ/T 67-2019 办公建筑设计标准

JGJ/T 67-2019 办公建筑设计标准