今天我是开源的“网格演播室 ", 一个完全集成Python编程语言的基于web的电子表格应用程序。

大约一年前,我开始修改构建我一直想要的数据科学IDE的想法。在与MicrosoftExcel、R(Studio)和Python广泛合作之后,我设想了一些集成版本将如何使我的生活更轻松

为什么?

我与Gridstudio一起着手解决的主要问题是,在处理数据科学项目时,我在多个工具(如R Studio和Excel)之间来回往返时所经历的零散工作流。

导出CSV文件时,目瞪口呆碰上冻结应用程序窗口当我的行数太高或者想做的时候简单明了的事情,如在JSON文件中读取我受够了。现有的工具没有为我提供环境和相关的工作流,从而使我能够高效地工作。

这就是为什么我决定构建一些东西,将我的工作流程集成到一个单一的、现代的、易于使用的、适合我的数据科学需求的应用程序中。

它怎麽工作?

Gridstudio是一个基于web的应用程序,看起来非常类似于普通的电子表格程序,如GoogleSheet或MicrosoftExcel。然而,它的致命特性是Python语言的深度集成。

在表格结构中查看数据并直接操作它,对于几乎所有使用过计算机的人来说都是很自然的。

将这个简单的UI与成熟的编程语言(如Python)的功能结合起来,确实使它脱颖而出。

使用Python编写脚本是尽可能简单的:只需编写几行代码并直接执行即可。

核心集成:对纸张的读写

Python集成的核心是电子表格的读写接口。Python过程中工作表的数据和数据之间的高性能连接。

只需写在纸上,如下所示:

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

从纸上读到:

my_matrix = sheet("A1:A3")

有了这个简单而强大的功能,您就可以直接读写表单,从而实现数据输入、提取、可视化等自动化。

编写自定义电子表格函数

虽然读写通过简单的界面提供了很大的灵活性,但有时编写可以直接在电子表格中调用的自定义函数很有意义。

常见的电子表格功能,如平均值、和、if等,在默认情况下已经可用。但如果你需要更多呢?

只需编写所需的函数即可!

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

现在,在电子表格中调用此函数,就像调用常规函数一样。

利用Python生态系统

通过利用Python生态系统的强大功能,您可以立即访问最先进的数据科学工具:

这样就可以简单地访问功能强大的模型,例如线性回归和支持向量机为你的数据建模。

码头运行时

该应用程序运行在一个Docker容器中,它使您可以轻松地访问一个完全打包和隔离的UNIX环境(甚至在Windows上!)一切准备就绪:Python,Scikit-Learning,Numpa,熊猫,终端,wget,zip等等。

这使得安装Gridstudio就像下载预构建的码头映像和运行一个命令一样简单。

数据可视化

数据科学中的一个常见任务是可视化您的数据。鉴于其重要性,Gridstudio通过集成交互式绘图库Plotly.js和Python的标准Matplotlib,构建了对高级绘图的支持。这为您提供了矢量锐利格式的高级绘图功能。

为了给您提供一些关于如何使用Gridstudio功能的想法,我们将展示如何将它们与一些具体的示例结合起来。

例句:刮网

这个例子向您展示了将Python放在指尖的强大功能。通常需要在工具和文件之间来回切换的东西现在可以集成到单个脚本中。

上面,您可以看到一个简短的脚本如何轻松地将来自Hacker News的新闻文章直接加载到表单中。

资料来源:刮皮

示例:估计正态分布

这个例子展示了一个用Plotly.js可视化的更高保真度估计正态分布的有点傻的用例。在这里,你可以看到交互式的绘图是如何让你对正在发生的事情有一种感觉的。

资料来源:估计正常值

我该怎么用呢?

在本地安装Grid studio非常简单:

(Make sure you have Docker installed)
1. Clone the repository with this command:
git clone https://github.com/ricklamers/gridstudio
2. Run the bash script (on Windows use e.g. Git Bash) with this command:
cd gridstudio && ./run.sh
3. Go to http://127.0.0.1:8080 in your browser

吉特巴什对于Windows-码头安装

注意:如果遇到问题,请随意打开发行在GitHub上,我将尽可能快地帮助/修复。

注意:在Linux上,您可能需要运行(对于步骤2):

cd gridstudio && sudo ./run.sh

因为Docker需要sudo访问才能运行。

发行+未来发展

如前所述,今天的Grid studio将通过GitHub储存库 .

如果您在这里,您非常欢迎您自己尝试,并提交任何反馈和/或贡献的项目上的GitHub。

对于将来可以添加哪些功能或特性来改进Gridstudio,我有一些想法。但是,由于该项目现在是开源的,我认为在GitHub上跟踪这些项目并根据所有相关人员查看哪些项目具有最高优先级是明智的。

-扩展电子表格中可用的“本机”函数的数量(如平均值、和、如果等),甚至可能与一些现有的包(如Libre Office的Calc或Excel)达到奇偶校验(和一致性)

-在电子表格中键入公式时,语法突出显示/函数工具提示

-电子表格中的高级排序和筛选

-与Plotly.js交互绘图的扩展控件

-更容易共享工作区/代码(即导出工作区)

-实时协作的形式(这可能太困难了)

-一些用于外接程序/扩展的API/接口

-将公式解析器升级为真正的基于语法的解析器

-Python自动完成

-性能优化

-核心Python/工作表集成健壮性(没有字符/序列损坏)

开源动机

虽然这个项目最初是为商业发布而设计的,但我认为,作为一个开放源码项目,每个人都可以尝试使用它,并有可能由一个有兴趣的小型社区进行开发。

原因在于,在项目的最初开发过程中,我发现了许多项目,这些项目提供了与Gridstudio类似的功能。

首先,有一个直接将Python集成到microsoft excel中的开源插件木翅..尽管它并没有真正地将电子表格和Python集成到一个连贯的产品中,但它确实提供了让用户访问他们已经熟悉的“真实”满载Excel环境的优势。

第二,Python是从IPython到木星笔记本到木星实验室..它非常受欢迎,因此,它为数据科学家提供了一个非常好的工作环境,特别强调通过长形式笔记本编写可解释的代码。虽然,它缺乏任何一种电子表格功能,在我看来,是如此吸引新手数据科学家,因为它的非导向性行为。

总的来说,这样的项目意味着网格工作室的商业化将意味着与这些产品替代品竞争,这些产品可以极其低廉的免费价格获得。

无论如何,我真诚地相信Gridstudio确实有一些独特的东西可以提供现有的替代方案,并且可以成为相当多的用例的选择工具。

通过GitHub储存库 .

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

< END >

微信扫码关注,了解更多内容

用Python构建一个电子表格应用程序的,以使数据科学变得更容易相关推荐

  1. 使用Python+Flask+OpenCV构建一个相机应用程序

    前言 在这篇博文中,我们将使用 Flask 框架构建一个相机应用程序,我们可以在其中单击图片.录制视频.应用诸如灰度.负片和"仅人脸"之类的滤镜,就像出现在 Snapchat 上的 ...

  2. python推荐系统-利用python构建一个简单的推荐系统

    摘要: 快利用python构建一个属于你自己的推荐系统吧,手把手教学,够简单够酷炫. 本文将利用python构建一个简单的推荐系统,在此之前读者需要对pandas和numpy等数据分析包有所了解. 什 ...

  3. python编写木马攻击_用Python写一个自动木马程序

    电脑作为大家日常办公的工具,最怕的一件事情之一就是被偷,当我们的电脑被盗的时候,不仅仅是电脑本身,更重要的是电脑存储的资料都会丢失.如何尽快的找回电脑需要我们想点办法,今天就教大家一个好的技巧,虽说不 ...

  4. 基于python的系统构建_利用python构建一个简单的推荐系统

    摘要: 快利用python构建一个属于你自己的推荐系统吧,手把手教学,够简单够酷炫. 本文将利用python构建一个简单的推荐系统,在此之前读者需要对pandas和numpy等数据分析包有所了解. 什 ...

  5. python推荐_利用Python构建一个简单的推荐系统

    原标题:利用Python构建一个简单的推荐系统 摘要:快利用python构建一个属于你自己的推荐系统吧,手把手教学,够简单够酷炫.在此之前读者需要对pandas和numpy等数据分析包有所了解. 什么 ...

  6. 程序员疯狂记事:如何利用众多技术栈构建一个 Web 应用程序?!

    [CSDN 编者按]"Elixir.Phoenix.Absinthe.GraphQL.React和Apollo"--在这几个关键词中,有几个是身为开发者的你一直想玩但还没来得及玩的 ...

  7. [译] 用 Redis 和 Python 构建一个共享单车的 app

    原文地址:Build a bikesharing app with Redis and Python 原文作者:Tague Griffith 译文出自:掘金翻译计划 本文永久链接:github.com ...

  8. 通过python构建一个区块链来学习区块链

    了解区块链Blockchains如何工作的最快方法就是构建一个区块链.你来到这里是因为,和我一样,你对加密钱币的崛起感到很兴奋.而且你想知道区块链是如何工作的,想了解它们背后的基本技术. 但理解区块链 ...

  9. 构建一个移动应用程序要花多少钱?

    构建一个移动应用程序要花多少钱? How much does it cost to build a mobile app? 不幸的是,对于一个移动应用程序的开发成本应该是多少这个问题,没有一个单一的答 ...

最新文章

  1. 自签名证书说明——自签名证书的Issuer和Subject是一样的。不安全的原因是:没有得到专业SSL证书颁发的机构的技术支持?比如使用不安全的1024位非对称密钥对,有效期设置很长等...
  2. debian+pxe+preseed.cfg 安装配置
  3. Spring 运用 pointcut 和 advisor 对特定的方法进行切面编程
  4. spring 构造函数注入_Spring构造函数注入和参数名称
  5. 在新建FileInputStream时使用当前相对路径或者绝对路径作为参数的问题
  6. datareader对象转化为int_【Angew. Chem. Int. Ed.】光催化丙二烯的去消旋反应
  7. MySQL Enterprise Monitor架构图
  8. 考研复习计划怎么做?MindManager来帮你!
  9. 1.1 经典车间生产调度问题模型及其算法
  10. Matlab plot画图线型、符号及颜色
  11. 索尼播放器Android系统,获得最新固件的索尼NW-ZX505,简直脱胎换骨!
  12. html初始化调用js函数
  13. MongoDB数据库入门到精通看这一篇就够了
  14. 大数据营销在电商领域的应用案例
  15. 佳能打印机清零后不显示界面_Vignelli佳能在界面设计中的无形
  16. 优酷土豆联姻 视频网站格局的几大猜想
  17. 创业者该怎么快准狠抓住知识付费项目这个机会变现?
  18. Web全栈开发学习笔记—Part2 与服务端通信—d.在服务端将数据Alert出来
  19. SpringBoot 自定义实现一个启动器starter 教程。
  20. 穿过任意防火墙NAT的远程控制软件TeamViewer

热门文章

  1. Xilinx FPGA BRAM使用方法
  2. 最小生成树普里姆算法Prim
  3. c1TrueDBGrid 常用属性
  4. vue转json形式
  5. av_write_frame 与 av_interleaved_write_frame
  6. 使用moveTaskToBack重新进入调用了onDestroy
  7. 北京-京东-Java实习面经(附答案)
  8. vue.js + element中el-select实现拼音匹配,分词、缩写、多音字匹配能力
  9. matlab微积分计算
  10. 解C#中的委托(Deligate)