python - 删除特殊字符python数据框
问题描述
我想从列中删除特殊字符和我选择的一些单词。
df['tweet_text'][0]
'\\": \\"#\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588 TEXAS Corona update 19-MAY-21\\\\n\\\\nTotal Deaths 51","180\\\\n\\\\nhttps://t.co/jeoAqC07Oq\\\\n\\\\n#\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588 #\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588 #\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588 #\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588 #\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588 #\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588 #\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588updates #\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588 #\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588 #\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588 #\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\\\u2588\\"","\\"'
我用了
df['tweet_text'] = df['tweet_text'].str.replace('[#,@,&,{,},",:,//,\\\n,-,\\\\,u2588]', '')
' TEXAS Corona pdates 19MAY1nnTotal Deaths 110nnhttpst.cojeoAqC07Oqnn pdates '
正如您在输出中看到的那样,没有删除“nn”,并且删除了每个“u”。你能帮我解决这个问题吗?谢谢你!
解决方案
.replace()
使用正则表达式。您的正则表达式字符类'[#,@,&,{,},",:,//,\\\n,-,\\\\,u2588]'
被解析为
[#,@,&,{,},",:,//,\
,-,\\,u2588]
所以它将匹配换行符和字符"#&,/258:@\u{}
(不是破折号,因为它是正则表达式中的范围分隔符)。
您需要阅读正则表达式的语法。
(但是,如果您的数据框以这样的字符串开头,恐怕您的数据也会以其他方式损坏......)
推荐阅读
- json - 如果 JSON 对象中缺少字段,则 JSON 反序列化,将包装类中的字段设置为 NULL
- azure - 我可以从 Azure 中的单个 asp.net mvc 应用程序使用多个文件存储帐户吗?
- python - For循环过早退出
- google-apps-script - 在 Apps 脚本中获取切片器值
- json - 在 ngfor 循环中以角度显示 json 数据(来自 firebase 的数据)
- javascript - 在浏览器与 nodeJS 服务器中使用 SheetJS 生成 XLS 文件:优缺点
- spring-boot - Kafka 批处理监听器,轮询固定数量的记录(尽可能)
- c++ - C++ 语句重新排序
- graphql - 使用 Appsync 更新 GraphQL 中的突变
- r - 清洁数据和关联规则 - R