python replace 用法--df.replace(), str.replace()

2022/4/29 20:12:55

本文主要是介绍python replace 用法--df.replace(), str.replace(),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在处理数据的时候,很多时候会遇到批量替换的情况,如果一个一个去修改效率过低,也容易出错。replace()是很好的方法。

源数据

一、 替换全部或者某一行

1. replace的基本结构是:df.replace(to_replace, value) 前面是需要替换的值,后面是替换后的值。

例如我们要将南岸改为城区:

 

2. 使用inplace = True更改源数据

将南岸改为城区

这样Python就会搜索整个DataFrame并将文档中所有的南岸替换成了城区(要注意这样的操作并没有改变文档的源数据,要改变源数据需要使用inplace = True)。

3. 改变指定的列的数据

由于南岸只有城市一列具有相同值,使用起来比较方便。但是如果我们要改变表1Lon里的某个数据,而不改变Longitude的数据要怎么做呢?

所以只想替换部分数据的时候并且要写入源数据就需要指定inplace。

在上面的操作只改变了表1Lon的数据,其它列的数据并没有被替换,而且在替换后的结果不需要我们再和源数据进行合并操作,可以直接体现在源数据中。

 

二、 替换指定的某个或指定的多个数值(用字典的形式)

只改变指定的值

1. 这个很好理解,就是字典里的建作为原值,字典里的值作为替换的新值

2. 用列表的形式进行替换

当然,我们也可是使用列表的形式进行替换:df.replace(['A','29.54'],['B',100])

3. 还有如果想要替换的新值是一样的话,我们还可以这样做:

4. 替换的新值一样时

 

三、 使用正则表达式替换

正则表达式很强大,能够让我们实现一次替换很多很多个不同的值:

源数据

 

1. 正则表达式没有指定regex =True

 

2. 正则表达式指定regex =True

使用正则表达式的时候记得后面加 regex=True参数。

3. 有图中我们可以看到只要包含有大写的英文字母的数据都被替换了,如果我们要写入源数据还需要指定inplace = True。

当需要将缺失值替换掉的时候,我们可以考虑直接只用fillna(),功能更强大,这个前面已经有说过了。

四、在某些情况下,如果我们只需要某个数据的部分内容,我们该怎么操作呢?(str.replace)

1. 指定列更改替换部分字符

需要注意的时更好指定列的时候,使用str.replace时不能使用inplace = True参数,因此需要改成赋值,赋值的时候不要忘了是列的赋值而不是整个表格的赋值。

比如要把变电站都改为transformer_substation,或者是把Latitude列的前面的ab改为AB:

指定列更改替换部分字符

 


本文为CSDN博主「NO23412号菜狗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dudu3332/article/details/103243658



这篇关于python replace 用法--df.replace(), str.replace()的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程