选自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 种方法。
本文为机器之心编译,转载请联络本大众号取得授权。
------------------------------------------------