首页 > 解决方案 > 熊猫,应用字符串连接问题

问题描述

letters = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя '
done['text'] = done['text'].apply(lambda x : ''.join(s) for s in x if s in letters)

有什么办法让它工作吗?我需要从 done['text] 中删除所有不在字母中的符号

标签: pythonpandasdataframe

解决方案


您可以使用该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"]


推荐阅读