当前位置: 首页 > 编程日记 > 正文

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

来源 | Python数据科学(ID: PyDataScience)

不得不说,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工作表。其次,选择合并的键。最后,选择保留哪些列。

数据透视表

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

筛选

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

  • 过滤器是单个条件,对于该列中的每个单元格,其评估结果为true或false。

  • 过滤器组是结合了布尔运算符的过滤器聚合。

排序

保存分析

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

后话

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

https://trymito.io/blog/transpiler

Mito的创作者是三位来自宾大的学霸 Aaron Diamond-Reivich、Jake Diamond-Reivich和Nate Rush,他们是在搞数据分析的时候,萌生了想要制作Mito的想法。

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

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

更多精彩推荐
☞Python 玩出花儿,把罗小黑养在自己桌面☞315 曝光人脸识别摄像头,进店瞬间偷走你的“脸”,自动分析心情☞玩转3D全息图像!AI即刻生成☞在 5G 速度上,iPhone 12 只是个弟弟

相关文章:

CIR:2020年全球数据中心应用AOC市场达$42亿

未来十年,QSFP和CXP将占有源光缆销售收入的大部分。到2020年,QSFP和QSFP28销售收入将分别达到7.27亿美元和7.41亿美元。 根据CIR(CommunicationsIndustryResearchers)的最新报告(《2015有源光缆市场:数据中心和高性能计算市场》),…

Visual C#创建资源文件

资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用。同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在资源文件中&#…

给IIS添加CA证书以支持https

一、在IIS中生成Certificate Signing Request (CSR) 个人理解:生成CSR就是生成“私钥/公钥对”之后从中提取出公钥。 1. 打开IIS Manager,在根节点中选择Server Certificates(服务器证书),点击右侧的Create Certificat…

MathWorks的AI之路:面向工业场景,打通开发到部署的全链路

作者 | 阿司匹林 AI正在快速发展,并在更多的领域落地。对于MATLAB和Simulink的开发商MathWorks来说,把握AI的机会,显得尤为重要。 不少人对MATLAB等的印象依然停留在学校期间学习的高级线性代数解题器的阶段。然而,MATLAB在几年前…

《Android应用开发攻略》——1.3 从命令行创建 “Hello, World”应用程序

1.3 从命令行创建 “Hello, World”应用程序 Ian Darwin1.3.1 问题你想在不使用Eclipse ADT插件的情况下创建新的Android项目。1.3.2 解决方案使用Android开发工具包(Android Development Kit,ADK)中的android工具,利用creat proj…

将Excel文件数据库导入SQL Server

将Excel文件数据库导入SQL Server的三种方案//方案一: 通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQL Server openFileDialog new OpenFileDialog();openFileDialog.Filter "Excel files(*.xls)|*.xls"; if(openFileDialog.…

Android----PopupWindow

Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于:  AlertDialog的位置固定,而PopupWindow的位置可以随意  AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的 PopupWindow的位置按照有无偏移分&#x…

GitLab 在中国成立公司极狐,GitHub 还会远吗?

作者 | 宋慧 责编 | 苏宓出品 | CSDN(ID:CSDNnews)开源的种子已在中国落地开花。今天,中国的开源圈再次迎来一大盛事:全球第二大开源代码托管和项目管理平台 GitLab与红杉宽带等基金正式宣布成立中国合资公司极狐信…

消除危害 让BYOD策略更安全的几个秘诀

自带设备办公(BYOD)已经不是什么新鲜的事情,在近些年,随着移动设备的发展,员工利用自带设备办公已经成为一件非常平常的事情。 但是由于出于安全问题的考虑,一些企业禁止员工通过自带设备连接到公司网络中进行办公。他们不允许个人…

图神经网络如何对知识图谱建模? | 赠书

几乎所有早期的知识图谱嵌入的经典方法都是在对每个三元组打分,在实体和关系的表示中并没有完全考虑到整幅图的结构。早期,图神经网络的方法在知识图谱嵌入中并没有被重视,主要由于:早期的图神经网络更多是具有同种类型节点和边的…

浅析ado.net获取数据库元数据信息

写这个文章源于早先对ADO.Net获取数据库元数据上的认识,去年我在阅读ADO.Net Core Reference的时候曾经注意过DataSet的FillSchema的这个方法。这方面,在我之前的随笔中提到过Typed DataSet,而FillSchem与WriteXmlSchema的结合使用可以获得数…

账户密码策略修改

由于是虚拟测试环境所以AD 和 Exchange安装在同一台虚拟机上,所以修改账户密码策略已达到降低密码是设置的复杂度。 1.打开 --开始--管理工具--组策略管理 2.选择--Default Domain Policy 右键编辑 3.选择计算机设置--策略--安全设置--账户策略--密码策略 4.调整--密…

什么是新IP的四层网络技术

新IP技术共有四层:物理底层、网络服务、控制服务和编排。通过这四个层级实现网络虚拟化和软件定义网络,下面就来详细说一说什么是新IP的四层网络技术。 物理底层 新IP技术依然是一种基于硬件的技术,脱离不了物理底层,所有的虚拟软…

按拼音模糊匹配查询条件的生成类

转载了好几个地方,很难确定最早的出处。将源码贴出来先。1usingSystem; 2usingSystem.Text; 3usingSystem.IO; 45namespacets6{ 7 class test 8 { 9 private static string[] startChars {"啊", "芭", "擦","搭…

Java架构技术文档:并发编程+设计模式+常用框架+JVM+精选视频

本篇文章是我们整理的一份架构师的成长路线,包括了并发编程、设计模式、常用框架、中间件、微服务与分布式、常用工具、JVM、MySQL、数据结构与算法,还有架构师精选视频、架构师成长路线高清大图。又是新的一年,每一年都会有人在成为架构师的…

linux tune2fs简解(每日一令之五)

1:命令简介Linux下的文件检测命令,且可以自行定义自检周期2:用法[rootuyhd000225 ~]# tune2fs --help tune2fs 1.39 (29-May-2006) tune2fs:无效选项 -- - Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g group][-i interva…

物联网技术正颠覆传统医疗行业

如果你或你的爱人最近正在接受治疗,你可能会觉察到一些很酷的新设备可以辅助诊断和治疗。然而,你可能没有意识到,一部分这些设备已连接到互联网,成为物联网生态系统的一个重要组成部分。 到底如何连接核磁共振成像仪、CT扫描仪或实…

数组的进一步使用

数组是数据结构中最基本的结构形式,它是一种顺序式的结构,存储的是同一类型的数据。每个数组元素都拥有下标(index)和元素值(value),下标方便存取数据,而元素值就是被存储的数据。 数…

百度香港二次上市,12 岁开发者、AI 机器人同台敲响“芯片代码锣”

整理 | AI科技大本营(ID:rgznai100)今日,继 2005 年百度在纳斯达克上市后,百度在香港的第二次上市。上市首日开盘价254港元每股,截至发稿,为 252 港元每股,总市值约为 7129 亿港元。现场“敲锣人…

Linux启动流程(二)

//...根据grub内核映像所在路径,读取内核映像,并进行解压缩操作。并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立1.start_kernel(init/main.c)中调用一系列初始化函数:(1) 在屏幕上打印出当前的内核版本信息…

写代码可能是成为软件工程师最容易的部分

当然,写代码是超级重要的,但是我认为它只是整个过程中的一小部分,且不一定是最难学的。 学习如何写代码要花些时间,但是只要有足够的训练(每天写代码,坚持数年),你就能真正擅长它。 …

不是“重复”造轮子,百度飞桨框架2.0如何俘获人心

2016 年,百度 PaddlePaddle 打响了国产深度学习框架开源的第一枪。 2019 年 4 月,在 Wave Summit 深度学习开发者峰会上,首次发布了PaddlePaddle 的中文名“飞桨”,开始强调自己更适合中国开发者,以及更加专注于深度学…

基于Sql Server 2008的分布式数据库的实践(一)

原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选择“属性”。左侧选择“安全性”,选中右侧的“SQL S…

HttpHand和HttpModule的详细解释,包括Asp.Net对Http请求的处理流程。

了解当用户对一个.aspx页面提出请求时,后台的Web服务器的动作流程。当对这个流程了解后,我们就会明白HttpHandler和HttpModule的作用了。 首先,来了解一下IIS系统。它是一个程序,负责对网站的内容进行管理,以及对客户的…

WebGL初探

目前,我们有很多方案可以快速的接触到 WebGL 并绘制复杂的图形,但最后发现我们忽视了很多细节性的东西。当然,这对初学 WebGL 是有必要的,它能迅速提起我们对 WebGL 的学习兴趣。当学习到更加深入的阶段时,我们更想了解…

Linux下用C语言最基本的程序开发与调试

1.建一个目录2.写代码,建一个hello.c文件代码:view plaincopy to clipboardprint?#include "stdio.h" main() { printf("Hello Linux.\n") } #include "stdio.h" main() { printf("Hello Linux.\n")…

全面升级!星环科技基础软件再升级,赋能数字中国建设

3月24日,星环科技举行2021线上发布会,支持10种主流数据模型的多模数据平台和数据云产品、实现AI建模的全生命周期管理人工智能等产品新版本齐齐亮相。 星环科技坚持核心技术自主原创,专注于大数据基础平台、分布式关系型数据库、数据开发与智…

脚本中echo显示内容带颜色显示

脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e格式如下:echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"例如:echo -e "\033[41;36m something here \033[0m"其中41的位置代表底色&#xf…

Java 8默认方法会破坏你的(用户的)代码

Java 8的默认方法试图尝试更进一步简化Java API。不幸的是,这一最近的语言扩展带来了一系列复杂的规则,但只有少部分Java开发者意识到这一点。这篇文章告诉你为什么引入默认方法会破坏你的(用户的)代码。 起初看来,默认…

JPA多对多关联

关于JPA多对多关系,这是使用学生与教师来表示。一个Student由多个Teacher教,同样一个Teacher也可以教多个学生。Student类如下: 1 package com.yichun.bean;2 3 import java.util.HashSet;4 import java.util.Set;5 6 import javax.persisten…