【发布时间】:2016-07-20 08:00:06
【问题描述】:
我一直在尝试解决这个问题。我正在尝试从 DB_user 列中删除非 ASCII 字符并尝试用空格替换它们。但我不断收到一些错误。这是我的数据框的外观:
+-------------------------------------------------- ---------- | DB_user 源计数 | +-------------------------------------------------- ---------- | ???/"Ò|Z?)?]??C %??J A 10 | | ?D$ZGU ;@D??_???T(?) B 3 | | ?Q`H??M'?Y??KTK$?Ù‹???ЩJL4??*?_?? C 2 | +-------------------------------------------------- ----------我正在使用这个功能,我在研究 SO 问题时遇到了这个功能。
def filter_func(string):
for i in range(0,len(string)):
if (ord(string[i])< 32 or ord(string[i])>126
break
return ''
And then using the apply function:
df['DB_user'] = df.apply(filter_func,axis=1)
我不断收到错误:
'ord() 期望一个字符,但找到长度为 66 的字符串',u'出现在索引 2'但是,我认为通过在 filter_func 函数中使用循环,我是通过在“ord”中输入一个字符来处理这个问题的。因此,当它碰到一个非 ASCII 字符时,它应该被一个空格替换。
有人可以帮帮我吗?
谢谢!
【问题讨论】:
标签: python string pandas character-encoding