【发布时间】:2018-12-31 06:46:00
【问题描述】:
我有一个看起来像这样的数据集
name col1 col2 col13
company1 Banking Finance B&F
company2 Utilities Utilities NaN
company3 Transportation Pipeline Transportation Utilities
company4 Consulting Tech Insurance
等等…………
所以我需要做的是将每一列相互比较,并标记那些完全不相似(或同义)的列。例如 - 公司 4 没有类似的东西,所以我想标记它。公司 3 看起来有些相似,所以我想将其标记为几乎相似(黄色标志),并且匹配的绿色是绿色。
The output somewhat needs to look like this :
name col1 col2 col13 flag
company1 Banking Finance B&F green
company2 Utilities Utilities NaN green
company3 Transportation Pipeline Transportation Utilities yellow
company4 Consulting Tech Insurance red
我知道这似乎是一个非常大的问题,但有人可以为我提供一个开始 - 比如如何解决这个问题。我可以在这里使用哪些字符串匹配算法?
谢谢
【问题讨论】:
-
您是否希望仅在同一行上跨列进行比较?
-
是的,我正在寻找那个
-
查看
fuzzywuzzy模块 -
我想这就是你在问题中想要弄清楚的,但如果你能明确定义你正在寻找什么样的相似之处,它肯定会帮助你更快地得到答案对于
-
我正在寻找同义词的相似之处 - 比如银行和金融是同义词,但金融和技术并不接近。
标签: python string pandas scikit-learn nltk