前言
Python的数据清洗功能有多厉害,相信不用我说大家都知道了,寥寥几行代码便可以把一份杂乱无章的表格给处理的干干净净。但是python也是不容易入门的,毕竟编程语言要理解和精通也是要花不少功夫的,所以很多小伙伴纷纷倒在了python的大门外。今天给大家来点干货,教大家如何利用python对EXCEL数据进行筛选,让大家可以对python快速入门,并可以领略到python的数据分析魅力。
数据源
我们要先用到一份EXCEL示例文件,在这里我选用了一份电商订单明细表,数据已脱敏:
EXCEL筛选
如果在EXCEL里进行筛选,我们一般方法是利用EXCEL自身的筛选功能,在弹出的筛选界面里用鼠标进行勾选,例如我们要筛选订单日期为2010年的和订单等级为高级的:
类似以上这样的筛选需求,在EXCEL里就可以实现,当然,除了这个办法之外,我们也可以通过其他的工具去实现,今天在这里教大家利用ETL+python的组合方法去实现,这两个工具在数据清洗上非常厉害。大家不要听到python就打退堂鼓,以下的教程非常浅显易懂,即使是小白也可以快速入门。在开始教学之前,我们要先用到一个厉害的ETL工具:智分析。
加载数据
由于智分析的ETL是在网页端上进行处理的,我们首先要做的就是先把本地的数据源导进智分析平台里,在智分析数据连接的界面里便可以快速把数据源导进来。除了本地的数据文件外,智分析也支持mysql、阿里云等关系型数据库的连接。打开ETL的界面,把关系数据源的组件拉拽到展示区里,根据存放路径找到您的数据源:
鼠标右键点击关系数据源的“查看输出”我们可以对数据源的输出效果进行预览:
条件过滤
当完成了数据连接后,接下来就可以利用智分析ETL里自带的python脚本对数据进行各种处理,我们先把python的组件拉拽到中间的展示区,并与上面的关系数据源进行相连:
点击python的输入框进行查看,可以看到这里的输入框与pycharm等软件的输入框基本一样,只要熟悉python的小伙伴都可以轻松上手,而且系统已经提前输入了部分脚本,这些代码是系统默认自带的,无需自己写,非常贴心。大家可以看到,提前写好的脚本主要是调用numpy、pandas这两个库以及定义了函数:
根据上述提到的需求,我们目的主要是对订单日期以及订单等级这两个字段进行筛选,我们首先先定义两个变量cond与cond1,cond在此处调用了pandas的pd.to_datetime()函数,这是pandas的时间处理函数,后面dt.year要筛选的结果就是年份等于2010年。接下来cond1要筛选的条件就是column4=高级,因为两者是and的关系,写完这两句脚本后,还要用&把这两个条件连接起来。
脚本写完后,点击确定,最后我们看一下python脚本执行后的效果,第二列的订单日期显示为2010年,订单等级显示为高级,只需写3行代码,我们的筛选需求已经实现了:
下篇预告
本文从Excel筛选角度介绍简单的应用,下一篇将讲解更复杂的应用,先看看有哪些复杂需求:
·订单日期筛选2010的订单
·订单等级筛选高级
·利润金额前10的订单
下篇将解决以上问题,敬请关注