python - 熊猫,应用字符串连接问题
问题描述
letters = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя '
done['text'] = done['text'].apply(lambda x : ''.join(s) for s in x if s in letters)
有什么办法让它工作吗?我需要从 done['text] 中删除所有不在字母中的符号
解决方案
您可以使用该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"]
推荐阅读
- math - 两个数字的 gcd 其中一个太大
- mysql - MySQL:为什么 IN 子句中的第 5 个 ID 极大地改变了查询计划?
- c# - 按列标题排序单击删除列过滤器
- python - 熊猫csv数据框中两点之间的距离
- vba - 我的双参数 vlookup 函数 (VBA) 跳过了我的数据范围的第一行
- excel - 用于复制多个单元格并粘贴到另一个工作表的 Vba 代码
- javascript - 无需刷新即可获取帖子 - Vanilla JavaScript 和 Express.js
- jsf - 从调度的 bean/计时器刷新 JSF/PF 组件
- r - R中值大向量
- python - Python解析器从文本文件中的主机名解析IP地址