我有一个包含单词列表的大文件,其中一些不完全正确。 Ex - (用于保湿的保湿剂,用于保湿剂的保湿剂,用于保湿剂的保湿剂等)。我在python中使用SequenceMatcher来区分这些单词并让我得到正确的单词。这是我的代码。
for pair in list(itertools.combinations(index_list,2)):
s1 = stop_tag.term[pair[0]]
s2 = stop_tag.term[pair[1]]
m = SequenceMatcher(None, s1, s2) #Similarity
if m.ratio() > 0.90:
pair_list.append(pair)
stop_tag
是数据框,term
是列的名称。
问题是数据帧非常大,当我运行它时,python会抛出这样的错误:
Traceback (most recent call last):
File "C:/Users/admin/Pycharm/term_freq_v2.py", line 58, in <module>
for i in list(itertools.combinations(index_list,2)):
MemoryError
是因为difflib无法处理大量数据吗?因为我在这里阅读了一些帖子,这些帖子使用的数据集比我的大。 有没有解决这个问题? 我可以使用任何其他库而不是difflib吗? 我对python很新,所以不确定这是什么。任何帮助将不胜感激。