前言
Python
很强大,有些复杂的Excel操作,python只要一两个语句就可以了。
但Python使用门槛高,要安装软件以及各种模块库。很多时候我们只想轻量级的使用python功能,有什么简单的办法呢?
Smartbi智分析提供web python功能,无需安装任何软件就能在浏览器内执行python脚本;还提供Excel插件,能够轻松将python执行结果取回到Excel。
下面以基础的数据筛选为例,让大家可以快速入门智分析的python功能,领略到python的数据分析魅力。
数据源
我们要先用到一份EXCEL示例文件,在这里我选用了一份电商订单明细表,数据已脱敏:
EXCEL
筛选
如果在EXCEL里进行筛选,我们一般方法是利用EXCEL自身的筛选功能,在弹出的筛选界面里用鼠标进行勾选,例如我们要筛选“订单日期”为2010年的和“订单等级”为高级的:
Smartbi
智分析里使用python进行筛选
加载数据
由于智分析的ETL是在网页端上进行处理的,我们首先要做的就是先把本地的数据源导进智分析平台里,在智分析数据连接的界面里便可以快速把数据源导进来。除了本地的数据文件外,智分析也支持mysql、阿里云等关系型数据库的连接。打开ETL的界面,把关系数据源的组件拉拽到展示区里,根据存放路径找到您的数据源:
鼠标右键点击关系数据源的“查看输出”我们可以对数据源的输出效果进行预览:
Python
筛选
当完成了数据连接后,接下来就可以利用智分析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行代码,我们的筛选需求已经实现了:
数据输出
我们再利用ETL的输出功能,对该份报表执行保存和输出,为了方便在EXCEL中对数据源进行调用,这里要输出的数据源类型为数据集。首先在ETL的界面里把“输出到数据集”拉拽到中间的展示区里,并与上面的组件进行相连:
然后鼠标右键点击“输出到数据集”,选择“执行到此处”,数据集便会成功保存在智分析的云端上:
数据回到Excel
最后回到EXCEL里,在数据集面板里找到刚刚保存好的数据集,点击该数据集,并用鼠标把数据集中的字段拉拽到EXCEL里:
点击工具栏上的刷新,数据便会全部刷新出来,我们可以看到“订单日期”以及“订单等级”这两个字段已经实现了筛选后的效果:
下篇预告
本文从 Excel 筛选角度介绍了简单的应用,下一篇将讲解更复杂的应用,先看看有哪些复杂需求:
·
订单日期筛选2010的订单
·
订单等级筛选高级
·
利润金额前10的订单