python是一门非常简单和实用的数据分析工具,咱们晓得其实能够利用python对EXCEL数据做简略的筛选。明天咱们利用ETL+Python的搭配组合,对EXCEL数据进行深层次的加工,这一次咱们要做的是高级筛选,请跟着我一起学习吧。
数据源
咱们用电商订单明细表:
EXCEL筛选
咱们回顾一下上一篇文章里的数据需要,第一个是依据订单日期筛选2010年的订单,第二个是依据订单等级去筛选高级的订单,这一次咱们把筛选条件进行降级,减少一个条件:在原先两个筛选条件的根底上,筛选出利润金额前10的订单。如果在EXCEL里操作的话,能够利用公式或者本身的筛选性能去实现,然而在python又是怎么实现的呢?
咱们能够在pycharm等软件上写python脚本去实现,然而我举荐大家用Smartbi智剖析的ETL性能去实现,Smartbi智剖析的ETL界面里也提供了python脚本的编写页面,并且很多简略的需要通过ETL就能实现,无需撰写简单的代码,非常适合编程小白。
加载数据
关上Smartbi智剖析里ETL界面,咱们先连贯好数据源,我曾经提前把EXCEL文件导入到了Smartbi智剖析的零碎里,而后把关系数据源拉拽到展示区里,并在左边找到数据源寄存的门路:
加载实现后,咱们能够对数据源进行预览:
条件过滤
当实现了数据连贯后,接下来就能够利用Smartbi智剖析ETL里自带的python脚本对数据进行各种解决,咱们先把python的组件拉拽到两头的展示区,并与下面的关系数据源进行相连:
以下脚本是Smartbi智剖析自带的脚本,曾经提前装置好了pandas和numpy的库,前面的函数也写好了一部分代码,只有依据以下脚本进行扩大,便能够在ETL上利用python进行数据荡涤:
在输出python脚本之前,咱们再明确一下要实现的需要,其中后面两个条件是和上次一样的,咱们无需进行改变,间接复制脚本过去即可,如果不懂的能够查看我前一篇文章。第三个条件须要做的是筛选利润额前10的订单,这里咱们援用pandas中的sort_values函数进行排序,原理相似于SQL中的order by,能够将数据集按照某个字段中的数据进行排序,前面接ascending=False,即对数据进行降序排列,head(10)代表的是取前10的值:
咱们看一下python脚本执行后的成果,年份这一列把2010年给筛选进去了,订单这一列筛选的是高级的订单,订单利润这一列的数据依照降序把前10的数据给筛选进去了:
数据输入
实现python的筛选程序后,咱们把执行筛选后的表格进行保留,能够抉择保留在数据库中,也能够保留在数据集里,这里我仍旧抉择数据集的保留形式,因为不便在EXCEL里进行调用:
回到EXCEL里,点击EXCEL插件里的“视图”,在左边会呈现Smartbi智剖析的数据集面板界面,点击下拉菜单,便能够找到保留在云端的数据集,也能够间接输出文件名进行搜寻:
点击EXCEL工具栏上的“刷新”,数据集里的字段便会显示在EXCEL里,咱们就能够利用这些数据在EXCEL里进行数据分析了: