【发布时间】:2015-07-31 23:25:58
【问题描述】:
对于一个字符串,下面的代码会删除 unicode 字符和换行符/回车符:
t = "We've\xe5\xcabeen invited to attend TEDxTeen, an independently organized TED event focused on encouraging youth to find \x89\xdb\xcfsimply irresistible\x89\xdb\x9d solutions to the complex issues we face every day.,"
t2 = t.decode('unicode_escape').encode('ascii', 'ignore').strip()
import sys
sys.stdout.write(t2.strip('\n\r'))
但是当我尝试在 pandas 中编写一个函数以将其应用于列的每个单元格时,它要么因属性错误而失败,要么我收到一条警告说试图在切片的副本上设置一个值来自数据框
def clean_text(row):
row= row["text"].decode('unicode_escape').encode('ascii', 'ignore')#.strip()
import sys
sys.stdout.write(row.strip('\n\r'))
return row
应用于我的数据框:
df["text"] = df.apply(clean_text, axis=1)
如何将此代码应用于系列的每个元素?
【问题讨论】:
-
如果所有 Unicode 字符都被删除,你最终会得到一个空字符串...
-
那我怎样才能保留文本但去掉 \xe5\xca 和 x89\xbd\x9d 等字符?
-
你能发布一个失败的数据框或系列的小例子吗?