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

作者:傻白甜++ 时间:2023-11-04 02:58:38 

在处理数据的时候,很多时候会遇到批量替换的情况,如果一个一个去修改效率过低,也容易出错。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参数,因此需要改成赋值,赋值的时候不要忘了是列的赋值而不是整个表格的赋值。

来源:https://www.cnblogs.com/feifeifeisir/p/13723299.html

标签:Pandas,替换,replace
0
投稿

猜你喜欢

  • PHP PDOStatement::bindValue讲解

    2023-06-14 11:16:02
  • HTML4标签的默认样式列表

    2007-09-28 22:00:00
  • Python 基于TCP 传输协议的网络通信实现方法

    2023-06-18 22:04:01
  • MySQL 5.5主从同步设置笔记分享

    2024-01-27 10:12:29
  • Python使用Mechanize模块编写爬虫的要点解析

    2021-05-21 01:24:33
  • 使用layui 的layedit定义自己的toolbar方法

    2023-08-24 16:21:43
  • ASP应用:用stream读文件

    2007-09-24 13:33:00
  • SQL Server创建索引教程

    2010-07-02 21:09:00
  • Python3连接MySQL(pymysql)模拟转账实现代码

    2024-01-21 09:37:45
  • MySQL优化之使用连接(join)代替子查询

    2024-01-25 18:26:33
  • Vue组件之自定义事件的功能图解

    2024-05-05 09:07:34
  • JS 循环li添加点击事件 (闭包的应用)

    2024-04-10 10:48:45
  • Laravel实现批量更新多条数据

    2023-10-23 03:23:03
  • python基础之reverse和reversed函数的介绍及使用

    2022-10-19 19:12:18
  • Python将xml和xsl转换为html的方法

    2022-04-02 14:24:32
  • 让代码变得更易维护的7个Python库

    2022-11-28 02:49:12
  • 十个Python经典小游戏的代码合集

    2021-08-03 12:09:38
  • Python中的多线程实例(简单易懂)

    2021-12-07 04:09:47
  • 浅谈购物类网站如何保持视觉设计的一致性

    2009-03-30 16:02:00
  • Python实现消消乐小游戏

    2021-02-19 19:37:42
  • asp之家 网络编程 m.aspxhome.com