letters = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя '
done['text'] = done['text'].apply(lambda x : ''.join(s) for s in x if s in letters)
有什么办法可以使它工作?我需要从done ['text]中删除所有不是字母的符号
答案 0 :(得分:1)
您可以使用pandas.Series.str.replace
方法。这是一个示例:
letters = "fd"
series = pd.Series(["aaaafffaaaa", "bbbfdfdfdfbb", "fdfdfdf"])
# 0 aaaafffaaaa
# 1 bbbfdfdfdfbb
# 2 fdfdfdf
# dtype: object
series.str.replace('|'.join([ *letters ]), "")
# 0 aaaaaaaa
# 1 bbbbb
# 2
# dtype: object
该方法在第一个参数中需要一个正则表达式,这就是为什么我要拆分字母字符串并用'|'将其连接回去的原因在它们之间创建一个OR表达式['|'.join([ *letters ])
]。
在您的情况下,您只需将series
与done["text"]
交换即可。