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标准库与第三方库详解
Jul 22 Python
python实现udp数据报传输的方法
Sep 26 Python
import的本质解析
Oct 30 Python
Python3 操作符重载方法示例
Nov 23 Python
python+opencv实现动态物体追踪
Jan 09 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
Jul 12 Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 Python
pandas删除指定行详解
Apr 04 Python
python scatter函数用法实例详解
Feb 11 Python
Keras load_model 导入错误的解决方式
Jun 09 Python
Pycharm安装Qt Design快捷工具的详细教程
Nov 18 Python
Pycharm配置autopep8实现流程解析
Nov 28 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
一个查看session内容的函数
2006/10/09 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
学习ExtJS TextField常用方法
2009/10/07 Javascript
表格 隔行换色升级版
2009/11/07 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
2013/06/05 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
javascript中setAttribute兼容性用法分析
2016/12/12 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
详解React native fetch遇到的坑
2018/08/30 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
2018/10/25 Javascript
javascript实现留言板功能
2020/02/08 Javascript
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
Python中if __name__ == "__main__"详细解释
2014/10/21 Python
python实现按行切分文本文件的方法
2016/04/18 Python
老生常谈python中的重载
2018/11/11 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书