我想,以确保有一列中的任何字符串的问题从我的数据帧headlamp
UnicodeDecodeError:'ascii'编解码器,如何解决?
之所以称为Comment
是因为我想以后导出数据帧到Excel使用.to_excel()
和Unicode误差总是提高。
我已经在网上阅读了很多资料,也在这里解决了这个问题,但是到目前为止我无法管理它。 我试图通过使用像下面的代码encode()
解决,但是,我仍然有同样的问题。
headlamp = part_dataframe(ro, 'PN 3D', '921')
headlamp['Comment'] = headlamp.Comment.apply(lambda x: x.encode('ascii',
'ignore'))
headlamp['word'] = headlamp.Comment.str.split().apply(lambda x:
pd.value_counts(x).to_dict())
len(headlamp)
错误:
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-57-29454fde650e> in <module>()
1 headlamp = part_dataframe(ro, 'PN 3D', '921')
----> 2 headlamp['Comment'] = headlamp.Comment.apply(lambda x:
x.encode('ascii', 'ignore'))
3 headlamp['word'] = headlamp.Comment.str.split().apply(lambda x:
4 pd.value_counts(x).to_dict())
5 len(headlamp)
C:\Users\Rafael\Anaconda2\envs\gl-env\lib\site-
packages\pandas\core\series.pyc in apply(self, func, convert_dtype, args,
**kwds)
2218 else:
2219 values = self.asobject
-> 2220 mapped = lib.map_infer(values, f, convert=convert_dtype)
2221
2222 if len(mapped) and isinstance(mapped[0], Series):
pandas\src\inference.pyx in pandas.lib.map_infer (pandas\lib.c:62658)()
<ipython-input-57-29454fde650e> in <lambda>(x)
1 headlamp = part_dataframe(ro, 'PN 3D', '921')
----> 2 headlamp['Comment'] = headlamp.Comment.apply(lambda x:
x.encode('ascii', 'ignore'))
3 headlamp['word'] = headlamp.Comment.str.split().apply(lambda x:
4 pd.value_counts(x).to_dict())
5 len(headlamp)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb4 in position 71:
ordinal not in range(128)
我完全失去了在这个问题上,因此,任何帮助将不胜感激。
我使用Jupyter IPython的
这是Python 2吗?另外,请显示完整的回溯,以便我们可以看到引发异常的行。 – lenz
请注意,异常与* de *编码有关,所以'encode'方法本身并没有提高它。但是,如果这是Python 2,则可能涉及隐式解码步骤(从“str”到“unicode”的自动强制转换)。 – lenz
我已经用完整的回溯更新了这个问题,关于你的2条评论,能否更好地解释我?我的Python是2.7 –