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

简介: 不得不说,Jupyter对于表的处理真的是越来越方便了,很多库可以直接实现可视化操作,无需写代码。但是这还不够,最近看到一个神器叫Mito,它真的是做到了无需写一行代码,而且手动的操作可以自动转换为代码,供后续批量化操作,这简直不要太爽。

大家好,我是东哥。

不得不说,Jupyter对于表的处理真的是越来越方便了,很多库可以直接实现可视化操作,无需写代码。但是这还不够,最近看到一个神器叫Mito,它真的是做到了无需写一行代码,而且手动的操作可以自动转换为代码,供后续批量化操作,这简直不要太爽。


一、Mito是什么?


MitoJupyter 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 mitosheet
mitosheet.sheet()


入数据


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

# import Python packages
import mitosheet
import pandas as pd
# Create a simple dataframe to display
car_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_data
mitosheet.sheet(car_data)


操作方法


Excel一样,一般的两种方法。1.公式法: 如果对公式熟练,直接敲入函数即可,比如sumsumif这种等等。公式法其实就是个孰能生巧的事。我看了下,Mito中的函数不复杂,使用很容易上手。2.分析工具: 如果不熟练函数,Mito也提供了分析工具,比如合并、透视表、筛选、排序、保存分析等部分功能,都是点点点的操作。对于分析工具,给大家演示几种常见的数据处理操作,找找感觉。合并数据集Mito的合并功能可用于将数据集水平组合在一起。通过查找两个表关键列的匹配项,然后将这些匹配项数据组合到一行中。首先,选择要合并在一起的两个Mito工作表。其次,选择合并的键。最后,选择保留哪些列。

9.gif


数据透视表


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


筛选


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

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

11.gif

排序


12.gif



保存分析


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


四、后话

对于Mito的背后原理,这里不过多介绍,如果感兴趣可以参考这篇博客:https://trymito.io/blog/transpilerMito的创作者是三位来自宾大的学霸 Aaron Diamond-Reivich、Jake Diamond-Reivich和Nate Rush,他们是在搞数据分析的时候,萌生了想要制作Mito的想法。据了解,目前这个软件还没有开源,他们还在思考如何支持维护这个项目,并转到开源路径上来。参考:https://docs.trymito.io/


我是东哥,最近正在原创👉「pandas100个骚操作」系列话题,欢迎订阅。订阅后,文章更新可第一时间推送至订阅号,每篇都不错过。最后给大家分享《100本Python电子书》,包括Python编程技巧、数据分析、爬虫、Web开发、机器学习、深度学习。现在免费分享出来,有需要的读者可以下载学习,在下面的公众号GitHuboy里回复关键字Python,就行


相关文章
|
7天前
|
Python
Python办公自动化:xlwings对Excel进行分类汇总
Python办公自动化:xlwings对Excel进行分类汇总
25 1
|
7天前
|
Python
Python自动化:xlwings合并Excel
Python自动化:xlwings合并Excel
20 0
Excel中用宏VBA实现GBT 4761-2008 家庭关系代码转换
Excel中用宏VBA实现GBT 4761-2008 家庭关系代码转换
|
26天前
|
数据采集 存储 数据挖掘
使用Python读取Excel数据
本文介绍了如何使用Python的`pandas`库读取和操作Excel文件。首先,需要安装`pandas`和`openpyxl`库。接着,通过`read_excel`函数读取Excel数据,并展示了读取特定工作表、查看数据以及计算平均值等操作。此外,还介绍了选择特定列、筛选数据和数据清洗等常用操作。`pandas`是一个强大且易用的工具,适用于日常数据处理工作。
|
7天前
|
数据可视化 数据处理 Python
Python操作Excel:轻松实现数据处理与分析
Python操作Excel:轻松实现数据处理与分析
11 0
|
7天前
|
Python
Python办公自动化:xlwings对Excel进行列拆分
Python办公自动化:xlwings对Excel进行列拆分
17 0
|
7天前
|
Python
Python办公自动化:xlwings拆分Excel
Python办公自动化:xlwings拆分Excel
16 0
|
7天前
|
Python
Python自动化:xlwings替换Excel中内容
Python自动化:xlwings替换Excel中内容
19 0
|
7天前
|
Python
Python:Pandas实现批量删除Excel中的sheet
Python:Pandas实现批量删除Excel中的sheet
23 0
|
10天前
|
关系型数据库 MySQL 数据库
python之excel与mysql之间的交互
python之excel与mysql之间的交互
下一篇
无影云桌面