首页 文章详情

向Excel说再见,神级编辑器统一表格与Python

开发者技术前线 | 389 2021-03-07 21:40 0 0 0
UniSMS (合一短信)

点击“开发者技术前线”,选择“星标🔝”

让一部分开发者看到未来

来自:机器之心  参与:思源、张倩


很多开发者说自从有了 Python/Pandas,Excel 都不怎么用了,用它来处理与可视化表格非常快速。但是这样还是有一大缺陷,操作不是可视化的表格,因此对技能要求更高一点。近日,开发者构建了名为 Grid studio 的开源项目,它是一个基于网页的表格应用,完全结合了 Python 和 Excel 的优势。



是的,在一个界面上同时展示可视化表格与代码,而且同时通过表格与代码修改数据,这不就是 Python 与 Excel 的结合吗?


项目地址:https://github.com/ricklamers/gridstudio

我们先看看 Grid studio 的效果到底是什么样的。总体而言,我们既可以通过 Python 加载和处理数据,也能通过「Excel」操作数据。


在 Python 上处理数据比较好理解,表格上处理数据其实非常像 Excel,如下所示为写一个求和公式。


也许我们在表格上改了些数据,那么我们也能导入到 NumPy 数组,并做进一步的运算。


为什么要创建这个工具?

作者表示,他创建 Grid studio 主要是用来解决数据科学项目中工作流分散的问题,在这种项目中,他要在 R studio、Excel 等多个工具之间换来换去。

在为 gazillionth-time 导出 CSV 文件时,如果行数过高,应用程序窗口就会卡顿。即使是做一些简单的事情,比如读取 JSON 文件,也能把人逼疯。现有的工具无法提供高效工作所需的环境和相关工作流,这也是作者决定构建该工具的原因。他想要创建一个易用的应用程序,可以把数据科学工作流整合进去。

这个工具有何亮点?

Grid studio 是一个基于网页的应用,看起来和 Google Sheets、Microsoft Excel 差不多。然而,它的杀手锏是整合了 Python 语言。

几乎所有使用过计算机的人都会很自然地使用表格来查看和编辑数据。将这个简单的 UI 与 Python 这种成熟的编程语言结合起来简直不要太好用。

用 Python 编写脚本非常简单:只需编写几行代码直接运行即可。


核心集成:读、写

这一 Python 集成的核心是对电子表格的读写接口,它可以在电子表格的数据和 Python 进程中的数据之间建立一个高性能的连接。

可以用以下方式在表格中写入数据:

sheet("A1:A3"[1, 2, 3])

用以下这种方式从表格中读取数据:

my_matrix = sheet("A1:A3")

你可以通过这种简单而高效的方式直接在表格中读取或写入数据,以自动化数据输入、提取、可视化等过程。

编写定制化表格函数

虽然通过一个简单的接口完成读写非常灵活,但有时编写可以直接调出的定制化函数也很重要。

除了 AVERAGE、SUM、IF 这些默认函数外,你可能还需要其他函数,那么写出来就好了!

def UPPERCASE(a):
    return str(a).uppercase()

写完这行代码后,在表格中调出该函数,就像调用常规函数一样。

利用 Python 生态

通过利用 Python 生态中各种强大的软件包,我们能立即访问到当前最优的数据科学工具,因此也能快速访问到强大的模型,例如线性回归和支持向量机等。


因为本身 Grid studio 主要就是处理表格数据,那么将它们作为特征可以快速调用 SVM 等模型,从而探索隐藏在这些数据背后的特征。

数据可视化

在数据科学中,很常见的一个任务就是可视化数据,这样才能获得关于数据的「先验知识」。通过集成交互式绘图库 Plotly.js 和 Python 标准可视化库 Matplotlib,Grid studio 目前已经内置了高级绘图功能。如下所示我们可以在向量表格格式上使用高级绘图功能:


为了进一步解释如何使用 Grid studio 的特征以构建可视化图标,项目作者还展示了两个案例,即爬取网页与可视化数据分布,但这里主要展示第一个案例。

案例:估计正态分布

如下案例展示了 Grid studio 的强大功能,它会以更高的保真度通过 Plotly.js 可视化正态分布,我们可以看看交互式制图到底是如何完成的。


使用安装

前面介绍了这么多特性,那么我们到底该怎么用呢?Grid studio 的安装和使用都非常简单,通过简单的命令行就能搞定。

  • git clone https://github.com/ricklamers/gridstudio

  • cd gridstudio && ./run.sh




如上通过下载项目、运行安装脚本两步,我们就能在浏览器中打开本地端口,然后就能愉快地使用了。


想入门Python,但一直没找到合适的参考书籍?
 
《Think Python》是很多Python初学者的不二入门教材,受到广泛好评。该书原作者是美国Olin工程学院的教授Allen B. Downey,目前该书的原版和中文版本都已免费开源。
 
Allen称,《Think Python》是面向Python编程初学者的入门书籍。该书从编程的基本概念开始,经过精心设计,可以在首次使用时定义所有术语,并按照逻辑顺序发展介绍每个新概念。其中,较大的内容部分(如递归和面向对象的编程)都划分为一系列较小的步骤进行介绍。
 
             
 
中文版本译者是一名自学Python的编程爱好者。选择翻译《Think Python》,一是因为它是作者入门使用的第一本教材;二是,它确实非常浅显易懂,把很多概念用非常朴实的话进行解释。作者称,当时零基础学习Python的他看这本书没有大的障碍。
 
当然,这和作者在设计、编写此书时的出发点密不可分。目前,这本书已经更新到了Python 3版本。
 
以下是这本书的基本目录设置。
      

作者在前言里特意提及了《Think Python》 的一些值得关注的内容设置:
 


  • 我在每章的最后新增了一个名叫调试的小节。我会在这些小节中,为大家介绍如何发现及避免bug的一般技巧,并提醒大家注意使用Python过程中可能的陷阱。
  • 我增补了更多的练习题,从测试是否理解书中概念的小测试,到部分较大的项目。大部分的练习题后,我都会附上答案的链接。
  • 我新增了一系列案例研究——更长的代码示例,既有练习题,也有答题解释和讨论。
  • 我扩充了对程序开发计划及基本设计模式的内容介绍。
  • 我增加了关于调试和算法分析的附录。


 
《Think Python》 第二版有以下新特点:
 


  • 本书及其中的代码都已更新至Python 3。
  • 我增加了一些小节内容,还在本书网站上介绍如何在网络浏览器上运行Python。这样,如果你嫌麻烦的话,就可以先不用在本地安装Python。
  • 在海龟绘图这章中,我没有继续使用自己编写的海龟绘图包``Swampy``,改用了一个更标准的Python包 turtle。这个包更容易安装,也更强大。
  • 我新增了一个叫作“The Goodies”的章节,给大家介绍一些严格来说并不是必须了解的Python特性,不过有时候这些特性还是很方便的。


 
值得一提的是,除了《Think Python》这本书,Allen B. Downey还开源了《Think Bayes》等书籍。
       

资料免费获取

关注下方公众号,回复”ThinkPython即可获得百度网盘地址。




后台回复 “666” 即可领取程序员大礼包。
参考链接:
https://hackernoon.com/introducing-grid-studio-a-spreadsheet-app-with-python-to-make-data-science-easier-tdup38f7
https://github.com/ricklamers/gridstudio

https://gridstudio.io


END


点个在看吧
good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter