又一神器登场!点点鼠标操作 Excel 就能自动生成 pandas 代码?
Jupyter
对于表的处理虽然已经很方便了,但是这还不够,最近看到一个神器叫Mito
,它真的是做到了无需写一行代码,而且手动的操作可以自动转换为代码,供后续批量化操作,这简直不要太爽。一、Mito是什么?
Mito
是Jupyter notebook
的一个插件,作用是编辑电子表格,并在编辑表格(带格式转换功能)时,可以生成相对应的Python
代码。![](https://filescdn.proginn.com/e6dd4dcd77aa71d730de1ab9c59311cb/d19ed60292b83dc05f8d4a5aae60f38a.webp)
Mito
和使用Excel
表格没什么太大区别,只需要掌握一些Mito
的自定义函数即可,然后它会自动生成pandas
处理表的代码。二、Mito 安装
Mito
的安装要求比较简单,有两个:Python 3.6或更高版本 需要安装了Node
pip install mitosheet
JupyterLab
扩展管理器。这个命令可能需要运行个几分钟:jupyter labextension install @jupyter-widgets/jupyterlab-manager@2
JupyterLab
就完事了。jupyter lab
conda
安装到一个虚拟环境里。三、Mito 操作方法
创建一个表
import mitosheet
mitosheet.sheet()
导入数据
pandas
读入数据生成dataframe
给mitosheet
。如果不想写代码,也可以手动点导入按钮导入数据,导入数据代码会自动生成。# 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
一样,一般的两种方法。sum
、sumif
这种等等。公式法其实就是个孰能生巧的事。我看了下,Mito
中的函数不复杂,使用很容易上手。Mito
也提供了分析工具,比如合并、透视表、筛选、排序、保存分析等部分功能,都是点点点的操作。Mito
的合并功能可用于将数据集水平组合在一起。通过查找两个表关键列的匹配项,然后将这些匹配项数据组合到一行中。![](https://filescdn.proginn.com/326ae8832e6c785e2b23ab25e1c7e76a/4a0d9a98698357b39ce06c1207682965.webp)
![](https://filescdn.proginn.com/0c0737f457ae9765dd06d8f50226faae/d5c1581d9897b50a6a564c72ce52e708.webp)
过滤器是单个条件,对于该列中的每个单元格,其评估结果为true或false。 过滤器组是结合了布尔运算符的过滤器聚合。
![](https://filescdn.proginn.com/8025304a7fad39e34cb7a122c4a5d1d4/d0e9a328578026cb5dec43233f0ddbf9.webp)
![](https://filescdn.proginn.com/d9acacee1fa34110333ec1ded1f033f6/71a286c6a04a642c46eace4e84da0faf.webp)
![](https://filescdn.proginn.com/9c4c97fe111a847f216bf19b5e99e980/cce569ac98489ddbae967442a811aa5c.webp)
四、后话
Mito
的背后原理,这里不过多介绍,如果感兴趣可以参考这篇博客:Mito
的创作者是三位来自宾大的学霸 Aaron Diamond-Reivich、Jake Diamond-Reivich和Nate Rush,他们是在搞数据分析的时候,萌生了想要制作Mito
的想法。评论