懂Excel就能轻松入门Python数据分析包pandas(十):查找替换

2021-08-19 17:35:24 浏览数 (1)

> 经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas

前言

Excel 无疑是数据处理的入门工具,他有许多便捷的功能,但是实际工作中的需求往往是越来越"疯狂",今天我们就来看看如何在 pandas 中实现 Excel 中的查找替换功能,并且最后做到 Excel 所做不到的。

案例1

Excel 很容易出现不规范的数据,有时候我们会遇到各列都有些问题值需要批量替换:

  • - 希望把所有 x 替换成"问题数据"

Excel 上自然用查找替换,Ctrl H ,填写查找值与替换值,马上搞定:

pandas 中也有同样的方法对应查找替换功能:

  • - DataFrame.replace()
  • - 参数1: 查找值
  • - 参数2(value): 替换值

案例2

但是,有时候情况会变得复杂:

  • - 大部分的异常值是 x ,但有一些是 xx

Excel 中可以的查找值可以使用通配符,如下可以解决:

  • - 查找值填 "x*"

pandas 中,直接可以使用正则表达式,因此完全难不倒你:

  • - 参数 regex ,填写正则表达式,"x " ,表示1个或多个x

案例3

现实往往超出你的想象,部门领导突然跟你说,每列的异常数据替换为"问题[列名]":

  • - 每列的新值都不一样

此时你心里走过一万个草泥马。

如果在 Excel ,这只能手工逐列替换操作。

pandas 中当然不需要:

  • - 第2参数 value ,可以接受一个字典,key 是列名,item 是替换的新值

拒绝繁琐!!

有人就会说:这太傻了吧,我还要每列的新值给写出来,我还不如用 Excel 一列列操作呢。

你说的对,当然有更加灵活方便的方式:

  • - pandas 中可以轻松访问列名字等信息

上面这方法即使换另外一份数据,一句代码都不需要修改即可完成任务!!

你 get 到了吗?

总结

  • - DataFrame.replace() ,整表查找替换
  • - 参数1 : 指定查找值
  • - 参数2(value): 替换的新值,可以用字典,用以不同列替换不同值
  • - 参数 regex: 正则表达式,可以做最灵活的查找替换

0 人点赞