python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pandas.str.replace 不起作用

pandas.str.replace 不起作用的解决方法

作者:数据人阿多

最近做项目,涉及到字符串替换,所以直接想到的方法是用 pandas.Series.str.replace 来进行替换,本文主要介绍了pandas.str.replace 不起作用的解决方法,感兴趣的可以了解一下

背景

最近在处理别人给的数据时,大概 700w+ 行数据,发现有的字段里面存在换行符、斜杠等一些特殊字符,于是想着就用Python来处理下,因为Pandas处理数据还是很方便,结果发现这些转义字符: \n\r\ 一直替换不掉,后来经过研究成功替换,分享出来供大家参考

演示数据

演示数据

python 与 pandas版本

特意说一下版本,现在不同的版本功能可能不一样

软件版本

问题复现

因为涉及到字符串替换,所以直接想到的方法是用 pandas.Series.str.replace 来进行替换,但是一直不能成功,即使双斜杠也不行

问题复现

问题解决

在上面第7个单元格运行时,报了一个错误,FutureWarning: The default value of regex will change from True to False in a future version.,于是就翻看了 pandas.Series.str.replace 的官方文档:http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.replace.html,文档中写了 regex:bool, default True,正则默认是开启的,个人经验:正则表达式来处理转义字符是比较麻烦的事,因为里面的斜杠不知道要写几个,总是记不住

官方文档

经过测试如下几种方法,可行:

方法1:明确使用正则来处理,并且使用原字符 r

方法1

方法2:明确使用正则来处理,正常的写法,经测试需要4个斜杠

方法2

方法3:不使用正则来处理,但是在处理单个斜杠时,必须用2个

方法3

到此这篇关于pandas.str.replace 不起作用的解决方法的文章就介绍到这了,更多相关pandas.str.replace 不起作用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文