再见 Jupyter Notebook, DataSpell 起飞!

开发 前端
归根结底,永远留在我们身边的不是工具,而是我们通过使用最适合我们需求的工具获得的知识。你会不会从 JupyterLab 或 Jupyter Notebook 切换到Dataspell呢?

如果 JupyterLab 和 PyCharm 有一个孩子,那么他一定是DataSpell,一个面向专业数据科学家的专业 IDE。

虽然 Pycharm 这样的 IDE 非常强大,但它并不适用于数据科学,因此大部分数据科学家都会选择使用富有交互性的  JupyterLab 或 Jupyter Notebook 作为常用 IDE。但在调试完整项目时又不得不切换回具有专业环境的PyCharm。

这样属实有点麻烦,直到我发现了 DataSpell。

什么是DataSpell?

Dataspell是专为数据科学家打造的集成开发环境(IDE)。它由Jetbrains(IntelliJ Idea 和 PyCharm 背后的公司)开发,因此无需进一步介绍。

DataSpell 具有我们期望从 Jupyter 中获得的一些典型功能,例如命令模式、编辑器模式、单元格导航、笔记本快捷方式和交互式输出。

也就是说,对于专业数据科学家来说,这是一个更强大的专业 IDE。这就是为什么我更喜欢 DataSpell 而不是 Jupyter Notebook(和 Pycharm)的原因之一了。

以下是 IDE 提供的内容:

  • 原生笔记本体验——如果你使用过 Jupyter,将会有宾至如归的感觉。
  • 智能编码辅助——就像 Jupyter 和 PyCharm 生了一个孩子一样。
  • Markdown 和 JavaScript — 根据需要设置笔记本的样式并嵌入数据可视化。
  • 交互式 shell — REPL 控制台 + 语法检查。

SQL 数据库支持——连接到数据库、直观地检查数据、导入/导出数据等。

一睹为快

图片

如果你使用过PyCharm,那么这个外观和感觉都会很熟悉。

创建第一个Notebook

该过程几乎与任何其他 Jetbrains 产品相同。单击根目录并转到New — Jupyter Notebook

图片

并命名为 first_notebook.ipynb

图片

创建笔记本时,可能已经看到创建 R 脚本和Julia文件的选项。其实Dataspell 不仅支持Python ,还同时支持 R 和 Julia。

使用基本的 Python 数据科学库测试

Numpy 数组和 Pandas DataFrame

图片

与 DataFrame 的良好交互性

当将 DataFrame 显示为输出时,与其他 Notebook 编辑器不同,当 DataFrame 很大时,DataSpell 可以显示整个 DataFrame 而不会屏蔽某些数据。当 DataFrame 较大时,DataSpell 会自动添加一个滚动条,让你可以滚动查看整个数据集。

同时,可以通过单击列名轻松对数据进行排序,这将使用该列按升序或降序对 DataFrame 进行排序(如果单击两次)。

如果要在单个框架中查看更多数据,可以选择在单独的选项卡中打开 DataFrame。

图片

Matplotlib 绘图

图片

出色的智能编码辅助

Jupyter Notebook 的一个缺点是它的编码辅助,虽然可以打开扩展 “hinterland”启用自动补全,但效果不佳。

如果按下“tab”按钮,它有时会再次写入整个变量名称,而不是仅完成名称的其余部分,有时甚至会自动完成单词,甚至无须按 Enter。

DataSpell 的编码辅助与 Pycharm 的一样智能,有智能代码完成、错误检查和更多可用的东西。

图片

图片

Markdown 支持

除此之外,DataSpell 还支持 Markdown,这意味着我们的脚本仍将具有带有 h1、h2、h3 标题、纯文本、编号列表、项目符号等的“笔记本风格”(虽然尚不支持 LaTeX语法) 。将鼠标悬停在一个单元格上方,然后单击Add Markdown Cell:

图片

另一种方法是单击code下拉菜单并将单元格类型切换为 Markdown。

这里有一些 Markdown 代码供尝试:

图片

这是运行单元格时的外观:

图片

出色的可视化输出

Jupyter Notebook 的一项很酷的功能是无需任何额外安装即可输出可视化效果。而 Pycharm 则不然,但 DataSpell 可以与Jupyter媲美!

只需要打开.ipynb包含创建可视化的代码的文件,你会发现所有可视化都会漂漂亮亮地显示出来。

图片

甚至支持交互式可视化

你猜怎么着?Dataspell 与 Plotly、Bokeh、Altair 和 ipywidgets 等交互式可视化库配合得很好。

如下交互式可视化效果:

图片

Pycharm 等完整 IDE 的一些很酷的特性(而 Jupyter Notebook 缺乏)是版本控制、轻松的终端访问和数据库集成。

版本控制

版本控制帮助我们跟踪和管理对软件代码的更改。你可能用来管理源代码更改的流行版本控制系统是 Github。

使用 DataSpell,你可以克隆 Git 项目、提交和推送更改、使用分支等等!

图片

终端

DataSpell 有一个内置终端,支持操作系统上可用的命令。终端在你的脚本下方可用,因此无需打开第二个窗口来再次使用终端!

图片

虚拟环境管理

当您使用 Python 一段时间后,你应该已经意识到为每个项目设置虚拟环境的重要性。DataSpell 通过提供设置页面,可以轻松为任何数据科学项目配置虚拟环境。此外,它具有对许多数据科学家常用的 Conda 环境的内置支持。

图片

数据库工具

如果我们每天都在使用 MongoDB、MySQL 和 Oracle 等数据库,那么我有个好消息!DataSpell 可以连接到数据库,因此我们可以直接从 IDE 访问和查询数据库。

图片

以下是支持的数据库工具的完整列表:

图片

这里介绍如何使用sqlite3包建立连接、创建数据库和表:

图片

现在可以像往常一样插入数据:

图片

Dataspell 的特别之处在于无需离开 IDE 或编写不必要的查询即可探索数据库的选项。只需双击数据库,就会打开一个新的侧窗口,然后可以单击任何感兴趣的表格,以在单独的选项卡中对其进行探索:

图片

其实该功能在PyCharm 的专业版中也能找到,因此并不能算作DataSpell独有的功能。

调试器

Jupyter Notebook 缺少可以帮助我们轻松检测和删除代码中的错误的调试器。

幸运的是,DataSpell 有一个同时支持 Jupyter notebooks 和 Python 脚本的调试器。因此我们可以直接Debug,如在断点处停止、管理变量等等。

图片

插件

我喜欢 Pycharm 和 DataSpell 的一点是当属其插件,他们有很多出色的插件可供我们下载。

其实我们为 Pycharm 安装的大多数插件也可均适用于 DataSpell。例如,使用 Rainbow CSV 为使用 Pycharm 打开的 CSV 文件中的列设置不同的颜色。

图片

虽然介绍了这么多关于Dataspell的优点,但用不用还是取决于你的实际需求,如果你的编码工作比数据科学多,那么 PyCharm 可能是更好的选择。另一方面,如果你所做的大部分工作都是纯粹的数据科学,那么 Dataspell 就是你的一个较好的选择。而相对于免费Jupyter,收费的Dataspell也是是阻止你使用的一大原因。

归根结底,永远留在我们身边的不是工具,而是我们通过使用最适合我们需求的工具获得的知识。你会不会从 JupyterLab 或 Jupyter Notebook 切换到Dataspell呢?

责任编辑:武晓燕 来源: 数据STUDIO
相关推荐

2020-09-24 05:50:46

PythonJupyter Not编程语言

2023-07-28 09:59:31

2022-05-05 12:25:46

Jupyter开发

2023-11-05 12:31:07

Jupyter命令

2020-07-26 11:55:11

Jupyter Not扩展工具开发

2024-01-03 16:37:26

Jupyter工具开源

2022-07-28 08:33:59

JupyterPython

2019-07-23 11:20:16

2023-05-24 16:48:47

Jupyter工具技巧

2021-05-26 10:15:52

开发技能工具

2021-08-12 16:02:22

Jupyter NotPython命令

2020-12-18 08:00:00

Python开发Web

2020-11-04 10:31:29

Jupyter NotPython数据分析

2023-07-29 22:15:33

2019-11-08 09:46:34

技术功能开发

2019-09-22 18:53:27

Jupyter Not代码开发

2023-07-18 15:00:00

AI代码

2020-08-04 06:51:28

Jupyterpython开发

2020-10-26 10:11:45

Jupyter Not早起Python开发

2022-06-20 10:00:57

Python工具包代码
点赞
收藏

51CTO技术栈公众号