python - 如何删除以开头并包含特殊字符熊猫的字符串
问题描述
我有一个数据框,其中有一列包含文本。此数据来自并保存到 csv 文件中,其中包含以下字符串:
Supporterüá®üáÆ
üáÆüá™üá™üá∫
üìû061 300149 üíªsdim.csdg@dsga.com
是否可以从文本数据中删除这些字符串?如果是这样,最好的方法是什么?
我努力了:
df['text'] = df['text'].replace(r'(?<![@\w])(^\W+)', '', regex=True)
但不幸的是,它不会删除字符串。
谢谢!
解决方案
例如对于以下 DataFrame
Supporter
0 üá®üáÆ
1 foo
2 üáÆüá™üá™üá∫
3 üìû061 300149
4 bar
5 üíªsdim.csdg@dsga.com
我们可以str.match
用来删除任何包含特殊字符的行:
df.loc[~df['Supporter'].str.match('[\u0080-\uFFFF]')]
输出:
Supporter
1 foo
4 bar
此外,如果您只想在保留实际记录的同时删除特殊字符:
df['Supporter'] = df['Supporter'].str.replace('[\u0080-\uFFFF]', '')
print(df)
输出:
Supporter
0
1 foo
2
3 061 300149
4 bar
注意:如果 DataSet 中有任何NA
值,则应在运行这些值之前删除它们:
df = df.dropna()
推荐阅读
- java - 如何在批量事务期间以编程方式使用 ehcache 从缓存中清除内存?
- jenkins - 在子模块上运行多分支管道
- java - 在Java中为char分配负值
- python - 为什么我的 nslookup 并不总是返回 IP?
- javascript - VSCode设置将数组内的JavaScript对象推送到新行
- reactjs - get access to child objects in react-native
- python - Searching a tuple element in a list of lists without changing the data structure
- sql-server - 如何通过 group by 得出每个 poly 的总支出?
- c - 如何使用 qsort 对结构的数组进行排序?
- docker - 错误解组内容:无效字符 '<' 寻找值的开头