我正在尝试使用Pyenchant拼写检查名为house的pandas数据框中名为pets的列中的每个条目。
import enchant
dict = enchant.Dict("en_US")
for pets in house:
[pets] = dict.suggest([pets])[0]
当我运行此代码时,我收到一条关于不将字节串传递给Pyenchant的错误。不知道该怎么办。完整错误文本如下:
文件“myfile”,第20行,in [宠物] = dict.suggest([宠物])[0] 文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/enchant/init.py”,第662行,建议 word = self._StringClass(word) 文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/enchant/utils.py”,第152行, new 引发错误(“不要将字节串传递给pyenchant”) enchant.errors.Error:不要将bytestrings传递给pyenchant
我该如何解决这个问题?感谢。
答案 0 :(得分:0)
如果您的数据框包含字节串,则需要在将它们传递给code
之前解码它们;您可以使用enchant
执行此操作。然后,要应用您的函数,处理此类情况的最简洁方法通常是在整个系列中使用.str.decode('utf-8')
而不是迭代。 (此外,您不应该隐藏关键字map
):
dict