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实现简单截取中文字符串的方法
Jun 15 Python
python实现随机梯度下降(SGD)
Mar 24 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
python实现学员管理系统
Feb 26 Python
Python 获取 datax 执行结果保存到数据库的方法
Jul 11 Python
Python帮你微信头像任意添加装饰别再@微信官方了
Sep 25 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
Sep 25 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
Python定义一个函数的方法
Jun 15 Python
Python常用扩展插件使用教程解析
Nov 02 Python
Python从MySQL数据库中面抽取试题,生成试卷
Jan 14 Python
python用tkinter开发的扫雷游戏
Jun 01 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
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
2013/04/26 PHP
destoon整合UCenter图文教程
2014/06/21 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
2018/08/14 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
在Python的Django框架中包装视图函数
2015/07/20 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
个人充满哲理的自我评价
2014/02/20 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
创先争优承诺书范文
2014/03/31 职场文书
行政专员求职信范文
2014/05/03 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
如何写股份合作协议书
2014/09/11 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书
2019个人半年工作总结
2019/06/21 职场文书
golang中的空接口使用详解
2021/03/30 Python