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中marshal对象序列化的相关知识
Jul 01 Python
彻底理解Python list切片原理
Oct 27 Python
django 多数据库配置教程
May 30 Python
使用anaconda的pip安装第三方python包的操作步骤
Jun 11 Python
Django代码性能优化与Pycharm Profile使用详解
Aug 26 Python
python爬取微信公众号文章的方法
Feb 26 Python
Django 源码WSGI剖析过程详解
Aug 05 Python
python实现猜拳小游戏
Apr 05 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
Selenium使用Chrome模拟手机浏览器方法解析
Apr 10 Python
pycharm软件实现设置自动保存操作
Jun 08 Python
Python自然语言处理之切分算法详解
Apr 25 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中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
微信公众平台开发实现2048游戏的方法
2015/04/15 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
Nginx下ThinkPHP5的配置方法详解
2017/08/01 PHP
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
javascript定义变量时加var与不加var的区别
2014/12/22 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
Bootstrap模态框禁用空白处点击关闭
2016/10/20 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
Python中用format函数格式化字符串的用法
2015/04/08 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
解除劳动合同协议书
2014/04/14 职场文书
七一建党日演讲稿
2014/09/05 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
优秀教师事迹材料
2014/12/15 职场文书
2015年公司工作总结
2015/04/25 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
小学数学国培研修日志
2015/11/13 职场文书
2019银行竞聘书
2019/06/21 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python