厌倦了 EXCEL 想玩点新花样?教你利用 Python 做数据筛选(下)
前言
回顾一下上次的案例模型,我们知道了只要写 3 行代码,就可以利用 python 对 EXCEL 数据做简单的筛选,说明了 python 是一门非常简单和实用的数据分析工具。前面学过的这几句简单的语言,不知道你们学会了没?今天我们依旧是利用 ETL+Python 的搭配组合,对 EXCEL 数据进行深层次的加工,这一次我们要做的是高级筛选,请跟着我一起学习吧。
数据源
我们还是用上次的那份电商订单明细表,数据已脱敏:
EXCEL 筛选
我们回顾一下上一篇文章里的数据需求,第一个是根据订单日期筛选 2010 年的订单,第二个是根据订单等级去筛选高级的订单,这一次我们把筛选条件进行升级,增加一个条件:在原先两个筛选条件的基础上,筛选出利润金额前 10 的订单。如果在 EXCEL 里操作的话,可以利用公式或者自身的筛选功能去实现,但是在 python 又是怎样实现的呢?
我们可以在 pycharm 等软件上写 python 脚本去实现,但是我推荐大家用智分析的 ETL 功能去实现,智分析的 ETL 界面里也提供了 python 脚本的编写页面,并且很多简单的需求通过 ETL 就能实现,无需撰写复杂的代码,非常适合编程小白。
加载数据
打开智分析里 ETL 界面,我们先连接好数据源,我已经提前把 EXCEL 文件导入到了智分析的系统里,然后把关系数据源拉拽到展示区里,并在右边找到数据源存放的路径:
加载完成后,我们可以对数据源进行预览:
条件过滤
当完成了数据连接后,接下来就可以利用智分析 ETL 里自带的 python 脚本对数据进行各种处理,我们先把 python 的组件拉拽到中间的展示区,并与上面的关系数据源进行相连:
以下脚本是智分析自带的脚本,已经提前安装好了 pandas 和 numpy 的库,后面的函数也写好了一部分代码,只要根据以下脚本进行扩展,便可以在 ETL 上利用 python 进行数据清洗:
在输入 python 脚本之前,我们再明确一下要实现的需求,其中前面两个条件是和上次一样的,我们无需进行改动,直接复制脚本过来即可,如果不懂的可以查看我前一篇文章。第三个条件需要做的是筛选利润额前 10 的订单,这里我们引用 pandas 中的 sort_values 函数进行排序,原理类似于 SQL 中的 order by,可以将数据集依照某个字段中的数据进行排序,后面接 ascending=False,即对数据进行降序排列,head(10)代表的是取前 10 的值:
我们看一下 python 脚本执行后的效果,年份这一列把 2010 年给筛选出来了,订单这一列筛选的是高级的订单,订单利润这一列的数据按照降序把前 10 的数据给筛选出来了:
数据输出
完成 python 的筛选程序后,我们把执行筛选后的表格进行保存,可以选择保存在数据库中,也可以保存在数据集里,这里我依旧选择数据集的保存方式,因为方便在 EXCEL 里进行调用:
回到 EXCEL 里,点击 EXCEL 插件里的“视图”,在右边会出现智分析的数据集面板界面,点击下拉菜单,便可以找到保存在云端的数据集,也可以直接输入文件名进行搜索:
点击 EXCEL 工具栏上的“刷新”,数据集里的字段便会显示在 EXCEL 里,我们就可以利用这些数据在 EXCEL 里进行数据分析了:
下篇预告
本文介绍了 python 的多条件筛选功能,下一篇将讲解如何对字段进行去重,敬请关注。
评论