【发布时间】:2021-08-21 07:16:37
【问题描述】:
我正在尝试纠正包含句子的 CSV 文件中的拼写错误。
input_csv:
id text
0 my telephon not working
1 I have mobil in my bag
2 car is expensiv
here 提供的代码使用附魔通过提供建议来更正单词:
我想使用这种拼写纠正方法来纠正熊猫数据框中的单词。我有以下代码,首先对每个句子进行标记,然后检查拼写并提出最佳建议:
import enchant, difflib, nltk
from nltk.tokenize import word_tokenize
import pandas as pd
text = "telephon mobil" # This is only a sample
token = word_tokenize(text)
for word in token:
best_words = []
best_ratio = 0
a = set(d.suggest(word))
for b in a:
tmp = difflib.SequenceMatcher(None, word, b).ratio()
if tmp > best_ratio:
best_words = [b]
best_ratio = tmp
elif tmp == best_ratio:
best_words.append(b)
print('word:[', word, '] -> best suggest:[', best_words[0],']')
word:[ telephon ] -> best suggest:[ telephone ]
word:[ mobil ] -> best suggest:[ mobile ]
现在我的问题是,如何将它应用到我的 panda 数据框并更正每一行中的拼写错误,并得到如下输出:
output_csv:
id text
0 my telephone not working
1 I have mobile in my bag
2 car is expensive
【问题讨论】:
-
试着把它变成一个函数并使用
pd.Series.apply在每个单元格上运行函数 -
@MichaelDelgado 感谢您的评论。你能用代码示例展示一下吗?