你需要早点知道的Jupyter Notebook提示和技巧

你需要早点知道的Jupyter Notebook提示和技巧

Jupyter Notebook是数据科学家和分析人员用于交互式计算、数据可视化和协作的流行工具。虽然许多用户熟悉Jupyter Notebook的基本功能,但有一些鲜为人知的技巧可以极大地提高生产力和效率。

在这篇博客中,我将介绍其中的10个技巧,以及每个技巧的示例。如果你想了解更多关于Jupyter的相关内容,可以阅读以下这些文章:
我为什么要放弃Jupyter Notebook?
数据科学家必备技能:掌握Jupyter完美文本编辑器配置技巧!
数据科学家必备的3个Jupyter Notebook扩展工具
如何在Jupyter Notebook里运行SQL?

图片由作者提供

1丰富多彩的笔记

颜色使事物脱颖而出。因此,我们可以使用丰富多彩的笔记来突出一些需要突出的重要内容。注释的颜色取决于警告块的类型,警告块可以是以下4种类型之一:

1、Alert info

class="alert alert-block alert-info">
Tip: Use blue boxes (alert-info) for tips and notes.

2、Alert Warning

class="alert alert-block alert-warning">
Warning: Use Yellow for a warning that might need attention.

3、Alert Success

class="alert alert-block alert-success">
Green box can be used to show some positive such as the successful execution of a test or code.

4、Alert Danger

class="alert alert-block alert-danger">
Red boxes can be used to alert users to not delete some important part of code etc.

2 代码折叠(隐藏代码单元)

有时,我们希望在Jupyter Notebook中隐藏代码,只显示结果/图形。方法是将以下HTML代码粘贴到Notebook的顶部单元格中,然后运行该单元格。

# Run me to hide code cells
%%html
id=hide>div.input{display:none;}
<button <="" font="">type="button" 
onclick="var myStyle = document.getElementById('hide').sheet;myStyle.insertRule('div.input{display:inherit !important;}', 0);">
Show inputs
隐藏代码单元

3 魔术命令

Jupyter Notebook支持“魔术命令”,这些命令是用于常见任务的快捷方式,例如计时代码执行或列出可用的变量。例如,为了计时一个代码单元的执行时间,你可以使用“%timeit”魔术命令。

%timeit sum(range(100000))
# Output: 1.27 ms ± 10.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

4 交互式小部件

Jupyter Notebook支持交互式小部件,可用于构建自定义用户界面进行数据分析。例如,你可以创建一个滑动条小部件来调整代码中的参数。

from ipywidgets import interact
@interact(x=(0, 10))
def square(x):
print(x**2)
交互式小部件

5 代码选择

我们可以在Jupyter Notebook的Markdown单元格中嵌入代码,使用反引号符号(‘)。只需用反引号将代码包裹起来以显示行内代码,或者使用三个反引号来显示代码块。以下是一个例子:

`x = 10`
```Python
str = "This is block level code"
print(str)
```

6 将Notebook转换为幻灯片

可以使用“rise”扩展将Jupyter Notebook转换为交互式幻灯片。要安装该扩展,请运行以下命令。

!pip install RISE
!jupyter-nbextension install rise --py --sys-prefix
!jupyter-nbextension enable rise --py --sys-prefix

安装完毕后,我们需要进入“视图(View)”并选择“幻灯片模式(Slideshow)(如果你看不到该选项,请刷新页面)。现在,根据需求选择每个单元格的幻灯片类型。

设置幻灯片的类型有以下几种:

  • Slide(幻灯片)-基本幻灯片类型
  • Sub-slide(子幻灯片)-幻灯片类型的子部分
  • Fragment(片段)-出现在同一幻灯片上的“Slide”或“Sub-slide”类型的信息
  • Skip(跳过)-此单元格在演示过程中将被跳过
  • Notes(备注)-此单元格被标记为在主视图中丢弃,但在演讲者视图中显示

7 自定义Matplotlib绘图

Jupyter Notebook使用Matplotlib进行数据可视化,我们可以设置默认的全局设置来自定义所有的Matplotlib绘图。例如,你可以使用“rcParams”字典来更改绘图标签的字体大小,这将应用于所有的Matplotlib绘图。

import matplotlib.pyplot as plt
## setting global settings
plt.rcParams.update({'font.size': 10,'lines.linewidth': 3})
应用线宽和字体大小

8 自定义Jupyter主题

Jupyter Notebook使用默认主题,但你可以通过安装和应用自定义主题轻松自定义Notebook的外观。要安装主题,你可以使用jupyterthemes包:

!pip install jupyterthemes

我们可以列出所有可用的主题,如下所示:

!jt -l

然后,你可以使用命令!jt -t [主题名称]应用主题,例如:

!jt -t grade3

应用主题后,我们需要重启Jupyter Notebook应用程序使其生效。

Home Page主题(grade3)
Notebook主题(grade3)

如果你想恢复为Jupyter Notebook的默认主题,可以使用以下命令,然后再次重新启动会话:

!jt -r

9 在Markdown单元格中使用LaTeX公式

如果你需要在Notebook中包含数学公式,可以在IPython库的display模块中使用LaTeX语法。

例如,以下代码将显示两个分数相加的数学表示形式及其输出。

from IPython.display import display, Math
display(Math('\\frac{2}{3} + \\frac{4}{5} = \\frac{22}{15}'))

10 在单个单元格中显示多个输出

在使用Jupyter Notebook时,你可能已经注意到默认情况下只会显示单元格中的最后一个输出。然而,通过使用IPython.core.interactiveshell中的 InteractiveShell模块,可以在单个单元格中显示多个输出。

要显示单元格中的所有输出,可以在单元格开头使用以下代码:

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
显示单元格中的所有输出

结论

在本篇博文中,我们探讨了各种提示和技巧,可以帮助你充分利用Jupyter Notebook。从自定义Notebook的外观到使用键盘快捷键和在单个单元格中显示多个输出,这些技巧可以帮助你简化工作流程并提高生产效率。

无论你是数据分析师、数据科学家还是机器学习工程师,Jupyter Notebook都可以成为你工作的强大工具。通过掌握这些技巧,你可以将数据分析提升到一个新的水平,使你的工作更加高效。

感谢阅读!你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Anmol Tomar
翻译作者:文杰
美工编辑:过儿
校对审稿:Chuang
原文链接:https://medium.com/codex/jupyter-notebook-tips-and-tricks-you-wish-you-knew-earlier-f7f7b33f538b