Pandas替换及部分替换(replace)实现流程详解


Posted in Python onOctober 12, 2020

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

Pandas替换及部分替换(replace)实现流程详解

源数据

1、替换全部或者某一行

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

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

Pandas替换及部分替换(replace)实现流程详解

将南岸改为城区

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

Pandas替换及部分替换(replace)实现流程详解

使用inplace = True更改源数据

由于南岸只有城市一列具有相同值,使用起来比较方便。

但是如果我们要改变表1Lon里的某个数据,而不改变Longitude的数据要怎么做呢?

Pandas替换及部分替换(replace)实现流程详解

改变指定的列的数据

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

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

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

Pandas替换及部分替换(replace)实现流程详解

只改变指定的值

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

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

Pandas替换及部分替换(replace)实现流程详解

用列表的形式进行替换

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

Pandas替换及部分替换(replace)实现流程详解

替换的新值一样时

部分替换和替换某个值结合使用的话就可以替换单个列的数值:

Pandas替换及部分替换(replace)实现流程详解

替换单个列的数值

3、使用正则表达式替换

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

Pandas替换及部分替换(replace)实现流程详解

源数据

Pandas替换及部分替换(replace)实现流程详解

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

Pandas替换及部分替换(replace)实现流程详解

正则表达式指定regex =True

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

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

Pandas替换及部分替换(replace)实现流程详解

指定列替换数据

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

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

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

Pandas替换及部分替换(replace)实现流程详解

指定列更改替换部分字符

Pandas替换及部分替换(replace)实现流程详解

指定列更改替换部分字符

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之有点简约的元组
Sep 24 Python
Python中的time模块与datetime模块用法总结
Jun 30 Python
详解python的webrtc库实现语音端点检测
May 31 Python
pandas DataFrame数据转为list的方法
Apr 11 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
python切片的步进、添加、连接简单操作示例
Jul 11 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
python3连接mysql获取ansible动态inventory脚本
Jan 19 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
解决tensorflow/keras时出现数组维度不匹配问题
Jun 29 Python
python空元组在all中返回结果详解
Dec 15 Python
用Python实现屏幕截图详解
Jan 22 Python
Django windows使用Apache实现部署流程解析
Oct 12 #Python
详解Django ORM引发的数据库N+1性能问题
Oct 12 #Python
如何实现一个python函数装饰器(Decorator)
Oct 12 #Python
Vs Code中8个好用的python 扩展插件
Oct 12 #Python
Django中和时区相关的安全问题详解
Oct 12 #Python
python调用有道智云API实现文件批量翻译
Oct 10 #Python
python线程池 ThreadPoolExecutor 的用法示例
Oct 10 #Python
You might like
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
php基础教程
2015/08/26 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
轻量级网页遮罩层jQuery插件用法实例
2015/07/31 Javascript
js获取url传值的方法
2015/12/18 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
详解vuex状态管理模式
2018/11/01 Javascript
解决vue-router 切换tab标签关闭时缓存问题
2020/07/22 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
python列表的常用操作方法小结
2016/05/21 Python
详解Python中的__getitem__方法与slice对象的切片操作
2016/06/27 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
英语演讲稿范文
2014/01/03 职场文书
基层干部十八大感言
2014/01/19 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
学生会竞聘书范文
2014/03/31 职场文书
合作意向书格式及范文
2014/03/31 职场文书
大专毕业生求职信
2014/07/05 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
失职检讨书大全
2015/01/26 职场文书
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB