资讯正文

增强JupyterNotebook的功能这里有四个妙招

放大字体  缩小字体 2019-09-22 14:45:42  阅读:3331 作者:责任编辑NO。卢泓钢0469

选自toward data science作者:George Seif机器之心编译参加:魔王你对 Jupyter Notebook 了解多少?本文介绍了一些自定义功用,...

选自toward data science

作者:George Seif

机器之心编译

参加:魔王

你对 Jupyter Notebook 了解多少?本文介绍了一些自定义功用,协助你运用 Jupyter notebook 更高效地写代码。

Jupyter Notebook 是悉数开发者同享作业的神器,它为同享 Notebooks 供给了一种便利方法:结合文本、代码和图更便利地将信息传达给受众。现在,Jupyter Notebook 现已应用于数据剖析和数据科学等范畴。

可是,大部分开发者只是了解其皮裘。开发者运用 Jupyter Notebook 的基本功用来写 Python 代码、展现图。可是你们知道 Jupyter 中还有许多自定义功用吗?这些很帅的选项能够协助你运用 Jupyter notebook 更高效地写代码、展现图。

本文将介绍强化 Jupyter Notebook 功用的 4 种方法。

1. 履行 Shell 指令

在技能或编程文本中,shell 表明运用文本与计算机进行交互的方法。最盛行的 Unix shell 是 Bash(Bourne Again SHell),Bash 是 Linux 机器上终端默许的 shell。

在运用 Python 作业时,你会经常在写 Python 代码和运用 shell 指令之间来回切换。例如,你想运用 Python 读取磁盘中的某份文件,而这需求你承认文件名。通常情况下,你需求在终端输入 ls,取得当时目录的悉数文件和文件夹列表。但这样来回切换十分繁琐低效。

很炫酷的是,Jupyter 能够履行 Shell 指令,你乃至无需脱离浏览器。只需求在 shell 指令前加一个感叹号!,Jupyter 会将其转换为 Bash。在任一指令前加感叹号!,它们就能够在 Python Jupyter Notebook 中运转。

咱们还能够将 shell 指令的输出分配给 Python 变量,如下所示:

2. 替换主题

许多文本修改器和编程 IDE 都有自定义主题。开发者最喜爱的主题之一是暗黑主题(如 monaki),由于关于整天盯着屏幕的开发者而言,暗黑主题看起来比较舒适。走运的是,Jupyter 有一个插件,答应用户自行挑选主题。

要想装置该插件,你只需在终端中运转以下 pip 指令:

运转以下指令,可得到可用的主题列表:

到本文写作时,可挑选的主题包含:

检查这些主题,如下图所示,咱们具有许多不同的色彩挑选。

solarizedd(左),gruvboxl(中),grade3(右)。

3. Notebook 扩展插件

Jupyter Notebook 扩展插件(nbextensions)是一些 Javascript 模块,你能够运用它们强化 Notebook 的功用以及运用。扩展插件本质上修改了 Jupyter UI,以完结更稳健的功用。

咱们首要经过 pip 装置 nbextensions:

装置完结后,发动 Jupyter。你将看到一个新选项——NBextensions。挑选它之后,你会看到许多 Jupyter Notebook 扩展插件选项。

经过快速查找,你能够检查这些扩展插件的功用。下面我将介绍几个最重要的插件。

Table of Contents

正如其称号所描绘的那样,Table of Contents 根据 notebook 中 # 创立的标题主动生成目录。例如,我在 notebook 中创立了以下标题:

则左边会生成目录。双击标题,可链接至对应章节内容。当 notebook 规划很大,选项许多时,这个功用十分便利!

Hinterland

代码补满是大部分 IDE 都具有的常见功用,比方 PyCharm。开发者喜爱这个功用,由于这使得他们的作业愈加简略,开发者无需记住每一个指令,IDE 会准备好悉数。

Hinterland 可在 Jupyter Notebook 内完结代码补全。在键入过程中,你会看到一些代码补全主张。尤其是当你查找外部库的指令时(示例如下所示)。这简直太便利了!

拆分单元格(Split Cells)

拆分单元格答应开发者并排检查 2 个单元格。当你有两个相关单元格时(比方描绘及其对应的图示),这个功用十分便利。

4. 运用 Qgrid 探究 Dataframes

最终一站是 Qgrid,该东西答应开发者在不运用杂乱 Pandas 代码的情况下,探究和修改数据帧。Qgrid 可在 Jupyter notebook 中以交互的方法烘托 pandas 数据帧,这样你就能够履行一些直观的操控,如翻滚、排序和挑选,以及双击单元格修改数据帧。

咱们首要装置 Qgrid:

要想运用 Qgrid 烘托数据帧,开发者只需导入 Qgrid,然后将数据帧输入到 show_grid 函数:

这样,你能够对数据帧履行许多交互式操作:

增加和删去行;

挑选行;

修改单元格。

将更多参数输入 show_grid 函数能够履行其他交互式操作。关于 Qgrid 的悉数功用,拜见:https://github.com/quantopian/qgrid。

以上便是强化 Jupyter Notebook 功用的 4 种方法。

本文为机器之心编译,转载请联络本大众号取得授权。

------------------------------------------------