我正在检查 Python 中文本的相似性。我有大约 100 条记录的数据集,并准备了一个用于检查相似性的函数——它有 2 个参数用于 2 组单词。
def getSimilarity(a, b):
x = set(a)
y = set(b)
z = x.intersection(y)
return float(len(z)) / (len(x) + len(y) - len(z))
我的数据框:
1 ['a','b','c','d'] other columns
2 ['a','h','e','f'] other columns
3 ['3','b','c','g'] other columns
4 ['y','b','c','z'] other columns
5 ['h','b','j','k'] other columns
……
我想创建一个方法来迭代给定行的数据帧,并找出比方说 2 个最相似的记录。例如checkSimilarity(1)
,checkSimilarity(df['col'][1])
对于数据框中的索引 1,我们将给出[3, 4]
最相似的结果。