【Python】Jupyter Lab 十大高生产力插件

转自:数据studio

如果你是一个用 Python 的数据科学家,那么用 Jupyter Notebook 就是大概率事件了。作为 Jupyter Notebook 的「下一代」web 应用,Jupyter Lab 提供了相比以往更多的便捷功能,其中之一就是扩展。

下一代数据科学开发环境 Jupyter Lab 应该怎么用?让我们从扩展工具开始。

现在,即使是 Jupyter Lab 开发者团队也对如此蓬勃发展的第三方扩展工具社区而感到兴奋了。在这篇文章中,机器学习工程师、计算机科学博士 Christopher Tao 将为读者介绍 10 种 Jupter Lab 扩展工具,它们对于典型的数据科学家 / 工程师来说可以大幅提高生产力。

4937c099c042b0d682a798b41b5ba857.jpeg

10 大 Jupyter Lab 扩展

目前,大多数在线资源都会使用以下命令来安装 Jupyter Lab 扩展:

jupyter labextension install @jupyterlab/...

当然,很多人都喜欢使用这种命令。如果你是 VS-Code、Sublime 或 Atom 的用户,你也许会希望在「管理器」中直接搜索要安装的内容。Jupyter Lab 却没有提供这些功能。

9032befcbb94df78fb1ccce7d0e55862.png

如上图所示,你可以转到左侧导航栏第 4 个选项卡,即扩展管理器(extension manager)。然后就可以搜索到你需要的扩展。

4887f208db8ff1e55aa0496b0582b4ad.png

现在总结一下值得推荐的 10 个 Jupyter Lab 扩展。

JupyterLab 调试器

6311325f22e4afb4d3bda1c253d00359.png

JupyterLab 调试器指南项目地址[1]

由于 Jupyter 的交互性,它受到了很多人的喜欢。然而,调试功能是编码所必须的。例如,我们可以逐步调试 for 循环(for-loop )来查看内部发生了什么。大多数 IDE 工具都支持这种带有「step over」和「step into」的调试特性,但遗憾的是,Jupyter 中没有这种特性。

「jupyterlab/debugger」就是这样一个扩展,让我们可以补足 Jupyter Lab 中缺少的这个功能。

89f910b2cd6cd2716f1f7f9b51593c85.png
图源:https://blog.jupyter.org/

JupyterLab-TOC

16de97a23cd75a28a6eee1a7c36972c2.png

JupyterLab-TOC 项目地址[2]

notebook 太长?想让你的 notebook 看起来更漂亮?或者希望 notebook 有一个目录?「jupyterlab/toc」帮你实现。

2f43787082f4dacc7a9c09cd38c94d20.gif
图源: https://github.com/jupyterlab/

有了这个扩展,基于用标题标记的单元格会自动生成目录(确保使用标记 ## 来指定你的标题级别)。这也是使用 Jupyter Notebook 的好方法,让你的工作更有系统性和组织性。

JupyterLab-DrawIO

85c71f6734badc8029afb559e14e9da9.png

JupyterLab-DrawIO 项目地址[3]

Diagram.net(原名 Draw.IO)是绘制图表的工具,它确实是 MS Visio 完美的开源替代品。借助于 jupyterlab-drawio,我们可以在 Jupyter Lab 上使用该工具。

c369c6ea5e2af546b233c13011c0ba9a.gif
图源:https://github.com/QuantStack/

JupyterLab Execution Time

7f836829623e49197c3167c927aec742.png

JupyterLab Execution Time 项目地址[4]

Jupyter Notebook/Lab 的一个惊人特性是它能提供许多有用的魔术命令(magic command)。例如我们可以使用「%timeit」测试代码运行时间。它将运行代码片段数百或数千次,并得到平均值,以确保给出一个公平和准确的结果。

但有时并不需要这样精确。我们只不过想知道每个单元运行的时间,在这种情况下,为每个单元使用「%timeit」变得不合适了。

在这种情况下,我们可以使用「jupyterlab-execute-time」。

5f08e63e093718a93ed6e1927819b7e0.png

如上图所示,「jupyterlab-execute-time」不仅显示了执行单元的时间间隔,而且还显示了最后执行的时间。

JupyterLab Spreadsheet

91bbb288a5350ed32ccb4434c19f4179.png

JupyterLab Spreadsheet 项目地址[5]

作为一名数据科学家或数据工程师,你不得不与电子表格打交道。但是,Jupyter 本身不支持读取 Excel 文件,这迫使我们需要打开多个工具,在 Jupyter 编码以及 Excel 之间不停地切换。

「jupyterlab-spreadsheet」可以很好地解决这类问题。它在 Jupyter Lab 中嵌入了 xls/xlsx 电子表格查看功能,因此我们可以在同一个地方获得所需的一切。

14c5c311d8682fbc56585be6673935f7.png
图源: https://github.com/quigleyj97/

JupyterLab System Monitor

b835cb8110348e4777b9dce092eac3bf.png

jupyterlab-system-monitor 项目地址[6]

Python 不是一种高效执行的编程语言,这意味着与其他语言相比,它可能会消耗更多的 CPU 和内存资源。Python 的最常见用例之一是数据科学。所以,我们可能想要监控自身系统硬件资源,从而注意到 Python 代码可能冻结了操作系统。

jupyterlab-topbar-extension 你想要拥有的扩展,它可以在 Jupyter Lab UI 的顶部栏显示 CPU 和内存使用情况,这样我们就可以实时监控了。如下动图所示:

bfb326e37a3a914ac6955034e7bd43e6.gif
图源:https://github.com/jtpio/

JupyterLab Kite

937f9f4800509c56c7746fbd9b9edad1.png

jupyterlab-kite 项目地址[7]

虽然我很喜欢 Jupyter,但它不像其他经典 IDE 工具一样提供代码自动补全功能。Jupyter 的代码自动补全非常受限且速度很慢。

你可能听说过免费的 AI 赋能代码补全服务 Kite,它在 Sublime、VS Code 和 PyCharm 等几乎所有流行的 IDE 工具中都可以使用。通过 jupyterlab-kite (https://github.com/kiteco/jupyterlab-kite) 扩展,你也可以在 Jupyter Lab 中使用这一功能。

cb9fa9322a9d0ca6edd0dedaa8434b9e.png
图源:https://github.com/kiteco/

JupyterLab Variable Inspector

7b0cd9379607e9562b388004705e23f7.png

jupyterlab-variableInspector 项目地址[8]

如果你是从 R studio 或 Matlab 转向使用 Jupyter Lab 的数据科学家,则可能对这些工具提供的变量检测器非常熟悉。但遗憾的是,Jupyter Lab 默认不支持这一功能。这时,jupyterlab-variableInspector 扩展可以重新支持该功能。

dff943f229f741cffdf81e52c516b4b5.gif
图源:https://github.com/lckr/

JupyterLab Matplotlib

7da7b28356dbbb792ea709655122ec98.png

Matplotlib/ipympl 项目地址[9]

如果你是数据科学家,则 Matplotlib 是必须学习(must-learn)的 Python 库。该库是 Python 中一个基础但强大的数据可视化工具。但当我们使用 Jupyter Lab 时,交互特征消失了。

jupyter-matplotlib 扩展可以使 Matplotlib 再次具备交互性。只需要输入一个魔术命令 %matplotlib widget 来启动它,则你的精美 3D 图表就变成交互式的。如下动图所示:

eddd5ea7cd6354d162c91914ac635ded.gif
图源:https://github.com/matplotlib/ipympl

JupyterLab Plotly

d2c36f52af1e96fac747b751448d499b.png

Plotly 使用指南[10]

虽然 Matplotlib 是最基础和强大的数据可视化库,但在这方面我最喜欢的是 Plotly 库。该库封装了很多常见图表,我们可以通过数行代码生成令人惊叹的图表。

为使 Jupyter Lab 无缝支持和显示交互的 Plotly 图表,用户需要安装 jupyterlab-plotly。

原文链接:

https://towardsdatascience.com/10-jupyter-lab-extensions-to-boost-your-productivity-4b3800b7ca2a

参考资料

[1]

JupyterLab调试器指南项目地址: https://blog.jupyter.org/a-visual-debugger-for-jupyter-914e61716559

[2]

JupyterLab-TOC 项目地址: https://github.com/jupyterlab/jupyterlab-toc

[3]

JupyterLab-DrawIO 项目地址: https://github.com/QuantStack/jupyterlab-drawio

[4]

JupyterLab Execution Time 项目地址: https://github.com/deshaw/jupyterlab-execute-time

[5]

JupyterLab Spreadsheet 项目地址: https://github.com/quigleyj97/jupyterlab-spreadsheet

[6]

jupyterlab-system-monitor 项目地址: https://github.com/jtpio/jupyterlab-system-monitor

[7]

jupyterlab-kite 项目地址: https://github.com/kiteco/jupyterlab-kite

[8]

jupyterlab-variableInspector 项目地址: https://github.com/lckr/jupyterlab-variableInspector

[9]

Matplotlib/ipympl 项目地址: https://github.com/matplotlib/ipympl

[10]

Plotly 使用指南: https://plotly.com/python/getting-started/#jupyterlab-support-python-35

 
 

0f381140dbd862fe342c1ab75e9eb2aa.jpeg

 
 
 
 
 
 
 
 
往期精彩回顾




适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑机器学习交流qq群955171419,加入微信群请扫码
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值