又一个 Jupyter 神器,操作 Excel 自动生成 Python 代码

网友投稿 350 2022-09-04


又一个 Jupyter 神器,操作 Excel 自动生成 Python 代码

大家好,​​Jupyter​​对于表的处理真的是越来越方便了,很多库可以直接实现可视化操作,无需写代码。

但是这还不够,最近看到一个神器叫​​Mito​​,它真的是做到了无需写一行代码,而且手动的操作可以自动转换为代码,供后续批量化操作,这简直不要太爽。喜欢记得收藏、关注、点赞。

注:完整代码、数据、技术交流,文末获取

一、Mito是什么?

​​Mito​​​是​​Jupyter notebook​​​的一个插件,作用是编辑电子表格,并在编辑表格(带格式转换功能)时,可以生成相对应的​​Python​​代码。

下面是具体的操作演示,感受一下它的强大!

使用​​Mito​​​和使用​​Excel​​​表格没什么太大区别,只需要掌握一些​​Mito​​​的自定义函数即可,然后它会自动生成​​pandas​​处理表的代码。

二、Mito 安装

​​Mito​​的安装要求比较简单,有两个:

Python 3.6或更高版本需要安装了Node

打开终端,直接pip安装:

pip install mitosheet

然后,安装​​JupyterLab​​扩展管理器。这个命令可能需要运行个几分钟:

jupyter labextension install @jupyter-widgets/jupyterlab-manager@2

最后,启动​​JupyterLab​​就完事了。

jupyter lab

也可以用​​conda​​安装到一个虚拟环境里。

三、Mito 操作方法

创建一个表

import mitosheetmitosheet.sheet()

导入数据

可以使用​​pandas​​​读入数据生成​​dataframe​​​给​​mitosheet​​。如果不想写代码,也可以手动点导入按钮导入数据,导入数据代码会自动生成。

# import Python packagesimport mitosheetimport pandas as pd# Create a simple dataframe to displaycar_data = pd.DataFrame({'car': ['Toyota', 'Nissan', 'Honda', 'Mini Cooper', 'Saturn'], 'mph': [60, 50, 60, 75, 90], 'length': [10, 12, 13, 8, 9]})# render the Mitosheet with car_datamitosheet.sheet(car_data)

操作方法

和​​Excel​​一样,一般的两种方法。

1.公式法: 如果对公式熟练,直接敲入函数即可,比如​​sum​​​、​​sumif​​​这种等等。公式法其实就是个孰能生巧的事。我看了下,​​Mito​​中的函数不复杂,使用很容易上手。

2.分析工具: 如果不熟练函数,​​Mito​​也提供了分析工具,比如合并、透视表、筛选、排序、保存分析等部分功能,都是点点点的操作。

对于分析工具,给大家演示几种常见的数据处理操作,找找感觉。

合并数据集

​​Mito​​的合并功能可用于将数据集水平组合在一起。通过查找两个表关键列的匹配项,然后将这些匹配项数据组合到一行中。

首先,选择要合并在一起的两个Mito工作表。其次,选择合并的键。最后,选择保留哪些列。

数据透视表

首先,选择一个关键字对数据分组。然后,如果想进一步将组分层为单个单元格,继续选择列。最后,选择聚合的列和方法。

筛选

Mito通过组合过滤器和过滤器组来提供强大的过滤功能。

过滤器是单个条件,对于该列中的每个单元格,其评估结果为true或false。过滤器组是结合了布尔运算符的过滤器聚合。

排序

保存分析

可以像保存宏一样保存分析。通过保存分析,可以保存应用于数据的转换,以便以后可以将其重新应用于新的数据集。

四、后话

对于​​Mito​​的背后原理,这里不过多介绍,如果感兴趣可以参考这篇博客:

Aaron Diamond-Reivich、Jake Diamond-Reivich和Nate Rush,他们是在搞数据分析的时候,萌生了想要制作​​Mito​​的想法。

据了解,目前这个软件还没有开源,他们还在思考如何支持维护这个项目,并转到开源路径上来。

参考:https://docs.trymito.io/

技术交流

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:分享10个超级实用的Python自动化脚本(自动化脚本编写实例-python)
下一篇:Java字符串常见的操作(比较,查找,替换等)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~