数据人的一把搭建脚手架
作者:阿乐
阿乐发了这个系列的自动化、可视化文章后,有不少读者私信问阿乐,我们有必要花心思做这些吗?
阿乐一直挂在嘴边的是业务和工具适配,有产出才是好工具。我们做为数据人,懂业务是第一要务,懂工具是第一方向。因为业务方面,只有你进入这个行业、这个部门,经过一定时间的积累和沉淀业务知识,我相信每个人都能很好得处理好你岗位上的工作内容。在认识业务之后,就会发现一些工具和方法上的不足,这就是促进我们去改变的动力。
不少朋友问阿乐,这个方法过程怎么实现,这个工具怎么实现,我相信几乎所有人在实际的业务中都会碰到不同的难题。可能是这个工具怎么帮他提高效率,也可能是这个工具怎么帮他提高准确率,各式各样。哪怕是做个报表都各有各家的妙方,这时见多识广就可以让你更好地选择工具去解决自己的问题。
看见不足,我们才想去改变。懂了业务之后,为了解决业务的问题,我们才想去做出改变。而这,也是阿乐实践这个自动化、探索新思路过程的动力,所以,没有什么值不值得花心思,业务需要有价值,我就上,不需要价值低我就不上,就这么简单。
01 Dash进化史
前面唠嗑了一些,开始讲讲今天的主角--Dash。
Dash是Plotly公司开发并开源的一款适用于Python的分析Web应用程序。在Python领域,搭建web 应用的常用框架是Django,Django大而全,但不是数据人的最佳工具,而Dash的重点是实现简单的打造 数据分析应用 ,提供数据分析师一把搭建web利器。
前Dash构建于Plotly.js,React和Flask之上,将现有UI元素(如下拉列表,滑块和图形)直接绑定到您的分析python代码。
Dash的Python版本截止本文发布之前已升级到1.1.1版本,无论从模块安装还是代码设计上,都已经变的相对比较简洁,同时也有目前也已经开放了R语言的接口。
Dash的出现让为数据分析代码构建GUI这项工作变得超级简单。Dash应用是基于Web构建与发布的,所以完全支持CSS。下面是一个采用了高盛报告风格的、可高度定制及交互的Dash报告。
02 Dash应用
Dash的重点是实现简单的打造 数据分析应用 ,我们可以看下相关的案例。
『 大脑模型研究 』
『 药物研究 』
『 石油监控 』
『 研究报告 』
从以上的应用中可以看出,Dsah完全可以胜任那种能将文档、表格、视图整合在一起的交互式数据分析报告框架,主要可以实现交互式仪表盘以及可交互的定制化分析报告。
03 Dash安装以及学习
因为项目的升级,底层的安装模块安装以及已经变得很简单。
pip install dash==1.1.1 # The core dash backend
pip install dash-daq==0.1.0 # DAQ components (newly open-sourced!)
安装需要的模块后,就可以减小项目的落地开发。开发前,我们需要对相关的模块进行了解。官网(https://github.com/plotly/dash)就是最好的学习资料。
04 与shiny比较
从实践过程看,shiny的封装程度更高,上手更容易一点,是R语言用户的构建web工具首选;Dash封装程度比shiny低,所以代码写的比较长,如果有Python使用经验,上手也不会很难。可定制化更强,不过需要懂点CSS ,这样更能定制出自己想要的效果。
从作用上看,简单的交互和强大的数据展示能力完全满足交互式分析报表、报告的落地。
从生态配件看,shiny毕竟发展的时间比Dash长,相关的案例、插件等都更丰富。
从未来发展看,因为创始者都是商业组织,模块代码的维护上都有保证,长期迭代使用没有问题。
从落地部署看,两家公司都开源了工具代码,也提供了免费部署的渠道,但是私有本地的商业部署还是需要花费。不过我们可以通过一些开源工具实现免费的本地商业部署。
05 落地案例
从实践上看,我觉得适合一些比较固定的分析报告,数据会经常更新,但是分析体系和指标变大不大。
『 我写的案例 』
『 网友分享的案例 』
『 网友分享的案例 』
06 写在结尾
在此向大家征集数据故事,你的人生也许有你很中意的人和事,我希望用精确的数字和可视化映射平凡人的美好故事。期待您的私信!
感谢您的耐心阅读,请顺手点个「在看」,谢谢。
『 延伸阅读 』
技术
有意思 | 七夕用代码地写封优雅的情书
上新 | 数据分析师用什么姿势学?
技术公司怎么用R和shiny赋能业务?
数据运营 | 数据平台实践流程
精选 | 四面楚喵
网友评论