当前位置: 首页 > 科技观察

再见JupyterNotebook,DataSpell起飞!

时间:2023-03-14 08:56:30 科技观察

如果说JupyterLab和PyCharm有孩子的话,那一定是DataSpell,一个为专业数据科学家打造的专业IDE。Pycharm这样的IDE虽然很强大,但是并不适合数据科学,所以大多数数据科学家会选择使用交互式的JupyterLab或者JupyterNotebook作为通用的IDE。但是当调试一个完整的项目时,我不得不切换回具有专业环境的PyCharm。在我发现DataSpell之前,这是一个有点麻烦的事实。什么是数据拼写?Dataspell是为数据科学家构建的集成开发环境(IDE)。它由Jetbrains(IntelliJIdea和PyCharm背后的公司)开发,因此无需进一步介绍。DataSpell具有我们期望从Jupyter获得的一些典型功能,例如命令模式、编辑器模式、单元格导航、笔记本快捷方式和交互式输出。也就是说,它是专业数据科学家的更强大的专业IDE。这是我更喜欢DataSpell而不是JupyterNotebook(和Pycharm)的原因之一。以下是IDE提供的功能:本机笔记本体验-如果您使用过Jupyter,您会感到宾至如归。SmartCodingAssist-就像Jupyter和PyCharm有了孩子。Markdown和JavaScript—根据需要设计笔记本样式和嵌入数据可视化。交互式shell—REPL控制台+语法检查。SQL数据库支持-连接到数据库、直观地检查数据、导入/导出数据等。概览如果您使用过PyCharm,就会熟悉它的外观和感觉。创建您的第一个Notebook该过程与任何其他Jetbrains产品几乎相同。当您单击根目录并转到新建—JupyterNotebook并将其命名为first_notebook.ipynb以创建笔记本时,您可能已经看到创建R脚本和Julia文件的选项。事实上,Dataspell不仅支持Python,还同时支持R和Julia。使用基本的Python数据科学库测试Numpy数组和PandasDataFrames与DataFrames良好的交互性在将DataFrames显示为输出时,与其他Notebook编辑器不同,DataSpell可以显示整个DataFrame而不会在DataFrame较大的某些数据时阻塞特定的DataFrame。当DataFrame很大时,DataSpell会自动添加一个滚动条,让你滚动浏览整个数据集。同时,可以通过单击列名轻松对数据进行排序,这将使用该列按升序或降序对DataFrame进行排序(如果单击两次)。如果您想在单个框架中查看更多数据,可以选择在单独的选项卡中打开DataFrame。用于Matplotlib绘图的智能编码辅助工具非常出色JupyterNotebook的一个缺点是它的编码辅助功能,虽然您可以打开扩展“hinterland”以启用自动完成功能,但效果不是很好。如果我按下“制表符”按钮,它有时会再次写入整个变量名称,而不是只填写名称的其余部分,有时甚至无需按Enter键即可自动完成单词。DataSpell的编码辅助与Pycharm一样智能,具有智能代码完成、错误检查等功能。Markdown支持除此之外,DataSpell还支持Markdown,这意味着我们的脚本仍将具有“笔记本风格”,带有h1、h2、h3标题、纯文本、编号列表、项目符号等(虽然语法尚不支持LaTeX)。将鼠标悬停在一个单元格上并单击添加Markdown单元格:另一种方法是单击代码下拉列表并将单元格类型切换为Markdown。下面是一些可以尝试的Markdown代码:这是单元格在运行时的样子:出色的可视化输出JupyterNotebook的一个很酷的功能是无需任何额外安装即可输出可视化。Pycharm并非如此,但DataSpell可与Jupyter媲美!只需打开包含创建可视化的代码的.ipynb文件,您就会发现所有的可视化都显示得很漂亮。甚至还支持交互式可视化,你猜怎么着?Dataspell与Plotly、Bokeh、Altair和ipywidgets等交互式可视化库配合得很好。交互式可视化,如:Pycharm(JupyterNotebook缺少)等完整IDE的一些很酷的功能是版本控制、轻松的终端访问和数据库集成。版本控制版本控制帮助我们跟踪和管理对软件代码的更改。您可以用来管理源代码更改的流行版本控制系统是Github。使用DataSpell,您可以克隆Git项目、提交和推送更改、使用分支等等!终端DataSpell有一个内置终端,支持操作系统上可用的命令。终端在您的脚本下方可用,因此无需打开第二个窗口即可再次使用终端!虚拟环境管理当您使用Python一段时间后,您应该已经意识到为每个项目设置虚拟环境的重要性。DataSpell通过提供设置页面,可以轻松地为任何数据科学项目配置虚拟环境。此外,它还内置了对许多数据科学家常用的Conda环境的支持。数据库工具如果我们每天都在使用MongoDB、MySQL和Oracle等数据库,那么我有个好消息!DataSpell可以连接到数据库,所以我们可以直接从IDE访问和查询数据库。以下是支持的数据库工具的完整列表:以下是如何使用sqlite3包建立连接、创建数据库和表:现在您可以像往常一样插入数据:Dataspell的特别之处在于您可以在不离开IDE的情况下进行探索或为数据库编写不必要的查询选项。只需双击数据库,就会打开一个新的侧窗,然后你可以点击任何感兴趣的表,在单独的选项卡中探索它:其实这个功能在PyCharm的专业版中也有,所以不能算作为DataSpell独有的功能。调试器JupyterNotebook缺少可以帮助我们轻松检测和删除代码中错误的调试器。幸运的是,DataSpell有一个同时支持Jupyter笔记本和Python脚本的调试器。所以我们可以直接debug,比如断点停,管理变量等等。插件我喜欢Pycharm和DataSpell的地方在于它们的插件,它们有很多很棒的插件供我们下载。事实上,我们为Pycharm安装的大部分插件也可以用于DataSpell。例如,使用RainbowCSV为使用Pycharm打开的CSV文件中的列设置不同的颜色。虽然介绍了这么多关于Dataspell的优点,但是你用不用还是要看你的实际需要。如果您的编码工作不仅仅是数据科学,那么PyCharm可能是更好的选择。另一方面,如果您所做的大部分工作是纯数据科学,那么Dataspell对您来说是更好的选择。与免费的Jupyter相比,付费的Dataspell也是阻止你使用它的一大原因。归根结底,永远伴随我们的不是工具,而是我们通过使用最适合我们需求的工具获得的知识。您要从JupyterLab或JupyterNotebook切换到Dataspell吗?