【发布时间】:2018-09-10 11:08:02
【问题描述】:
我正在尝试使用 python 进行字符串匹配。我有 .csv 数据,例如:
Item_ID»Item_Name
101»tomato
102»tomatos
103»tomatoes
104»tomato
(»s 代表制表符\t 字符。)
我希望输出是这样的:
Item_ID»Item_ID1»Similarity
101»102»92
101»103»73
101»104»100
102»101»92
102»103»85
102»104»92
104»101»100
104»102»92
104»103»73
Item_Name可以相同但ID不同,相似度应以Item_name为基础,但要与每个Item_ID计算。你能帮我写一下python代码吗?
【问题讨论】:
-
这只是一个例子。很抱歉没有提到这一点。
-
相似度应基于 Item_name 与 Item_name 的值。例如:“Tomato”(101)可以与字符串“Tomatoes”(102)有 92% 的相似度
-
好的,但是我们应该如何计算 92% 的值。如果我们无法计算该值,我们就无法创建包含该值的列。请将所需的输出更新为我们可以通过一些可复制的逻辑实际计算的结果。
-
所以我下面的解决方案使用
difflib.SequenceMatcher。希望对您有所帮助。
标签: python arrays string pandas csv