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切换pip安装源的方法详解
Nov 18 Python
python实现FTP服务器服务的方法
Apr 11 Python
无法使用pip命令安装python第三方库的原因及解决方法
Jun 12 Python
mac 安装python网络请求包requests方法
Jun 13 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
Apr 04 Python
通过pycharm使用git的步骤(图文详解)
Jun 13 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
Python Numpy库常见用法入门教程
Jan 16 Python
推荐值得学习的12款python-web开发框架
Aug 10 Python
Python requests接口测试实现代码
Sep 08 Python
Python实现EM算法实例代码
Oct 04 Python
Pytorch 如何实现LSTM时间序列预测
May 17 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
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
基于vue v-for 多层循环嵌套获取行数的方法
2018/09/26 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
JavaScript 防盗链的原理以及破解方法
2020/12/29 Javascript
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
跟老齐学Python之赋值,简单也不简单
2014/09/24 Python
Python map和reduce函数用法示例
2015/02/26 Python
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
pytorch permute维度转换方法
2018/12/14 Python
python 读取文件并把矩阵转成numpy的两种方法
2019/02/12 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
如何在Win10系统使用Python3连接Hive
2020/10/15 Python
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
2015入党自传格式范文
2015/06/26 职场文书
vue3不同环境下实现配置代理
2022/05/25 Vue.js