把Python数据分析变成Excel,这个Jupyter插件能帮你无代码处理数据

2021-03-08 19:55 1013 阅读 ID:286
量子位
量子位

    加载一个Jupyter插件后,无需写代码就能做数据分析,还帮你生成相应代码



    没错,只需要加载这个名为Mito的小工具包,用Python做数据分析,变得和用Excel一样简单:



    运行速度比Excel更快,也不需要到处搜各种Python教程了。

    好用如Excel,更快更全面

    Mito是Jupyter notebook的一个可编辑电子表格插件,在编辑.csv表格(带格式转换功能)时,就能生成相关Python代码。



    Mito,线粒体Mitochondria的缩写

    具体来说,Mito的出现,像是将Python的强大功能、和Excel的易用性进行了结合。

    只需要掌握Excel的用法,就能使用Python的数据分析功能,还能将写出来的代码“打包带走”。

    它弥补了Excel在数据分析上的几个缺陷

    • Excel无法做大数据分析(大型数据集处理得不好)
    • Excel运行缓慢
    • Excel无法轻松创建可重复流程

    同时,又比SQL和Python更简单、直观。毕竟这些专业工具对于0基础初学者来说,需要至少几年时间,才能完全上手。

    据Mito内测用户表示,这款插件让他们用Python做数据分析的效率提升了10倍,因为用户可以直接在Mito里编写Excel公式,如=SUM(A1, 100)。



    那么,Mito是怎么做到将Excel逻辑转换成Python代码的呢?

    作者们编写了一种名为Transpiler的程序,有点类似于编译器的功能,采用抽象语法树(AST),解析Excel源代码,并转换成Python的源代码。



    相比于采用专业软件如Alteryx(需要5000美元/月)进行数据分析,Mito所生成的Python代码可以根据需要自行修改,灵活性更高一点。

    目前,Mito采用亚马逊云平台 (AWS)保存用户的相关数据,每个用户拥有一个独立账户。

    当然,用户也可以选择将数据保存在本地。

    自动生成Python代码

    以分析美国各州的“家庭平均收入”和“允许托运的火车站数量”这两个数据的关系为例。

    首先,上传“家庭平均收入”和“允许托运的火车站数量”两份数据。

    数据处理的格式是.csv,当然也可以输入Excel文件,并用Mito转成两份.csv文件。



    然后,将这两份数据集合并在一起,只需要用鼠标勾选对应功能、选中相关数据列就行。

    啪!代码就生成好了。



    然后,是做数据透视表,在完成分组后,采用聚合(aggregate)功能来切换聚合方法。



    还包括数据过滤功能,同样立刻就能生成相关代码。



    包含升降序排序功能,快速简洁。



    然后就是相关数据统计、分析出结果了,流程直观。



    保存分析文件的方法也很简单,文件是以Python编写的,而不是用比较难懂的VBA。



    要想重复上面的步骤的话,也非常容易,Mito自带“重复已保存分析步骤”功能,一键就能用同样的方法分析其他数据。



    确实要比一行行编写代码简单多了。

    关于Mito

    那么,Mito的作者们,为什么要搞这个软件?

    因为他们发现,所谓的“几天上手Python数据分析”,其实根本没有那么容易……



    初学者要想用Python搞数据分析,就得不停地查看各种文档、和求助于StackOverflow。

    要想真正快速用Python分析数据,最后还得自己编写软件。

    三位作者Aaron Diamond-Reivich、Jake Diamond-Reivich和Nate Rush都来自宾大,在学校期间,他们学习了计算机科学、统计学和商业分析相关的课程。



    也正是在搞数据分析的时候,他们萌生了想要制作Mito的想法。

    作者表示,软件目前还没有开源,因为他们还在思考,如何支持维护这个项目,并转到开源路径上来。



    不过,它现在已经可以使用了。

    感兴趣的小伙伴们,可以上手试试了~

    项目主页:
    https://trymito.io/launch

    —完—

    @量子位 · 追踪AI技术和产品新动态

    深有感触的朋友,欢迎赞同、关注、分享三连վ'ᴗ' ի ❤

    免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
    反馈
    to-top--btn