机器学习新手必看:Jupyter Notebook入门指南
使用 Magic Functions
%clear, %autosave, %debug 和 %mkdir 等函数
- 使用%run代码可以直接外部的执行.py文件 (%run ./a)
- 使用%load则直接把代码读进来 (%load ./a)
Jupyter Notebooks 中的交互式命令板
- 在开始添加小插件(widget)之前,你需要导入 widgets 包:from ipywidgets import widgets
- 学习区:https://blog.dominodatalab.com/interactive-dashboards-in-jupyter/
from ipywidgets import widgets
outputText = widgets.Text()
outputText
Text(value='')
inputText = widgets.Text()
def makeUpperCase(sender):
outputText.value = inputText.value.upper()
inputText.on_submit(makeUpperCase)
inputText
Text(value='')
键盘快捷键——节省时间并提高效率!
命令模式(蓝框)和 编辑模式(绿框)的切换:蓝 - 绿:“Enter”, 绿 - 蓝 :“Esc”
一旦进入命令模式(即没有活动单元格),就可以尝试以下快捷键:
- A 键将在选中单元格上方插入新单元格
- B 键将在选中单元格下方插入一个单元格
- 要删除单元格,请连续按两次 D 键
- 要撤消已删除的单元格,请按 Z 键
- Y 键将当前的选中单元格变成代码单元格
- 按住 Shift + 向上或向下箭头键可以选择多个单元格。在多选模式下,按 Shift + M 会合并选中的单元格
- F 键会弹出 “查找和替换” 菜单
- 查看整个键盘快捷键列表,按 H 或转到 Help 菜单栏下的 Keyboard shortcuts
- 当前单元格MarkDown模式和Code模式切换(命令模式下):m到c为"Y", c到m为"M"
- 当前单元格内容增加行号(命令模式下):“L”
处于编辑模式时(在命令模式下按 Enter 键进入编辑模式),你会发现以下快捷键非常好用:
- Ctrl + Home 转到单元格的开头
- Ctrl + S 会保存你的工作
- Ctrl/Shift + Enter 将运行你的整个单元格
- Alt + Enter 不仅会运行你的单元格,它还会在下方添加一个新的单元格
- Ctrl + Shift + F 打开命令选项板
- shift + tab 连按2次,显示注释
- Tab 自动补齐代码
有用的 Jupyter Notebooks 扩展
-
第1步:用 pip 来安装它:pip install jupyter_contrib_nbextensions
-
第2步:安装关联的 JavaScript 和 CSS 文件:jupyter contrib nbextension install --user
-
Code prettify:重新格式化和美化代码块的内容。
-
Printview:这个扩展添加了一个工具栏按钮来调用当前 Notebook 的 jupyter nbconvert,并可选择在新的浏览器标签中显示转换后的文件。
-
Scratchpad:这个扩展增加一个便捷单元格,它可以让你运行你的代码而不必修改你的 Notebook。这是一个非常方便的扩展,特别是当你想要测试你的代码,但不想在你的活动Notebook上做这件事。
-
Table of Contents (2):这个扩展可以收集你的 Notebook 中的所有标题,并将它们显示在一个浮动窗口中。
-
collapsible_headings插件可以让Notebook把一个cell折叠起来,在cell菜单下出现
最佳实践
Matplotlib 可以很漂亮整洁地展示你的 Notebook,看看怎么使用它!
另一个提示!其实你的 Jupyter Notebooks 也可以创建幻灯片!还记得我说它超级灵活吗? 我一点都没有夸大。
- 要将你的 Notebooks 转换为幻灯片,请转到 View -> Cell Toolbar,然后单击 Slideshow。看!现在,每个代码块都在右侧显示一个 Slide Type 的下拉选项。它提供了以下 5 个选项,好好试一试每一个选项以更好地理解它,它会改变你呈现你的代码的方式!
实用技巧
在Notebook的中开头cell中添加以下代码可以实现多行输出:
- from IPython.core.interactiveshell import InteractiveShell
- InteractiveShell.ast_node_interactivity = ‘all’ #默认为’last’
module ‘numpy’ has no attribute ‘version’
- import pandas as pd就报这个错误,原因未知,解决方法就是-f强制重新安装:
- conda install -f numpy
- conda install -f pandas
代码自动完成
- 在代码顶部添加%config IPCompleter.greedy=True这一行并且shift+回车运行,对于接下来运行过的内容都会被列入自动提示中。
- 按Tab键弹出自动提示
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'
a = 2;b = 3
a;b
2
3
Cell不仅可以写代码,还能Markdown
公式编辑器LaTeX
- \( P(A \mid B) = \frac{P(B \mid A) , P(A)}{P(B)} \)
markdown如何换行
- 方法一:两段文字之间敲两个空格符
- 方法二:两段文字之间空一行
- 方法三:两段文字之间添加标签