再见 Jupyter Notebook, DataSpell 起飞!

简说Python

共 3110字,需浏览 7分钟

 ·

2022-11-17 09:55

如果 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呢?咱们评论区见~

--End--

1、想领取赠书,加我微信,朋友圈不定期送书;

2、想咨询学习,加我微信,每次咨询仅9.9元;

3、更多需求(学习 代码 视频剪辑),都可以加我微信,欢迎咨询。


扫码即可加我微信


分享

收藏

点赞

在看

浏览 41
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报