又一个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,就行


相关文章
|
1天前
|
缓存 开发者 Python
探索Python中的装饰器:简化和增强你的代码
【10月更文挑战第32天】 在编程的世界中,简洁和效率是永恒的追求。Python提供了一种强大工具——装饰器,它允许我们以声明式的方式修改函数的行为。本文将深入探讨装饰器的概念、用法及其在实际应用中的优势。通过实际代码示例,我们不仅理解装饰器的工作方式,还能学会如何自定义装饰器来满足特定需求。无论你是初学者还是有经验的开发者,这篇文章都将为你揭示装饰器的神秘面纱,并展示如何利用它们简化和增强你的代码库。
|
2天前
|
机器学习/深度学习 自然语言处理 API
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程。通过简单的代码示例,展示如何将文本转换为自然流畅的语音,适用于有声阅读、智能客服等场景。
17 3
|
4天前
|
设计模式 缓存 测试技术
Python中的装饰器:功能增强与代码复用的艺术####
本文将深入探讨Python中装饰器的概念、用途及实现方式,通过实例演示其如何为函数或方法添加新功能而不影响原有代码结构,从而提升代码的可读性和可维护性。我们将从基础定义出发,逐步深入到高级应用,揭示装饰器在提高代码复用性方面的强大能力。 ####
|
2天前
|
算法 IDE API
Python编码规范与代码可读性提升策略####
本文探讨了Python编码规范的重要性,并深入分析了如何通过遵循PEP 8等标准来提高代码的可读性和可维护性。文章首先概述了Python编码规范的基本要求,包括命名约定、缩进风格、注释使用等,接着详细阐述了这些规范如何影响代码的理解和维护。此外,文章还提供了一些实用的技巧和建议,帮助开发者在日常开发中更好地应用这些规范,从而编写出更加清晰、简洁且易于理解的Python代码。 ####
|
5天前
|
缓存 测试技术 数据安全/隐私保护
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第29天】本文通过深入浅出的方式,探讨了Python装饰器的概念、使用场景和实现方法。文章不仅介绍了装饰器的基本知识,还通过实例展示了如何利用装饰器优化代码结构,提高代码的可读性和重用性。适合初学者和有一定经验的开发者阅读,旨在帮助读者更好地理解和应用装饰器,提升编程效率。
|
9天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
12 3
|
11天前
|
缓存 算法 数据处理
Python性能优化:提升代码效率与速度的秘诀
【10月更文挑战第22天】Python性能优化:提升代码效率与速度的秘诀
10 0
|
29天前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
3月前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
41 0
|
26天前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
44 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档