选自TowardsDataScience,做者:Perter Nistrup,机器之心编译,参与:魔王。node
1. Pandas Profilingpython
2. 使用 Cufflinks 和 Plotly 绘制 Pandas 数据shell
4. Jupyter 中的格式编排bash
5. Jupyter 快捷键markdown
7. 为 Jupyter Notebook 即时建立幻灯片app
该工具效果明显。下图展现了调用 df.profile_report() 这一简单方法的结果:函数
使用该工具只需安装和导入 Pandas Profiling 包。工具
这已经很好了,不过是否能够绘制一个交互式、可缩放、可扩展的全景图呢?是时候让 Cufflinks* *出马了!(Cufflinks 基于 Plotly 作了进一步的包装。)学习
在环境中安装 Cufflinks,只需在终端中运行! pip install cufflinks --upgrade 便可。查看下图:测试
注意,上图惟一改变的是 Cufflinks cf.go_offline() 的导入和设置,它将 .plot() 方法变为 .iplot()。
其余方法如 .scatter_matrix() 也能够提供很是棒的可视化结果:
Cufflinks 文档:https://plot.ly/ipython-notebooks/cufflinks/
Plotly 文档:https://plot.ly/
%lsmagic:找出所有命令
%debug:交互式 debug
这多是我最常使用的魔术命令了。
大部分数据科学家都遇到过这种状况:执行的代码块一直 break,你绝望地写了 20 个 print() 语句,想输出每一个变量的内容。而后,当你最终修复问题后,你还得返回并再次删除全部 print() 语句。
不过之后不再用这样了。遇到问题后只需执行 %debug 命令,便可执行想要运行的任意代码部分:
上图中发生了什么?
咱们有一个函数,它以列表为输入,并对全部的偶数取平方值。
咱们运行函数,可是出了些问题。可是咱们并不知道怎么回事!
对该函数使用%debug 命令。
让调试器告诉咱们 x 和 type(x) 的值。
问题显而易见:咱们把'6'做为字符串输入到函数中了!
这对于更复杂的函数很是有用。
%store:在 notebook 之间传递变量
这个命令也很酷。假设你花了一些时间清洗 notebook 中的数据,如今你想在另外一个 notebook 中测试一些功能,那么你是在同一个 notebook 中实现该功能,仍是保存数据并在另外一个 notebook 中加载数据呢?使用%store 命令后,这些操做都不须要!该命令将存储变量,你能够在其余任意 notebook 中检索该变量:
%store [variable] 存储变量。
%store -r [variable] 读取/检索存储变量。
%who:列出全部全局变量。
你是否遇到过,为变量赋值后却忘记变量名的状况?或者不当心删掉了负责为变量赋值的单元格?使用%who 命令,你能够获得全部全局变量的列表:
使用该命令能够获取全部计时信息。只需对任意可执行代码应用%%time 命令,你就能够获得以下输出:
%%writefile:向文件写入单元格内容
在 notebook 中写复杂函数或类,且想将其保存到专属文件中时,该魔法命令很是有用。只需为函数或类的单元格添加 %%writefile 前缀和想要保存到的文件名便可:
如上所示,咱们能够将建立的函数保存到 utils.py 文件中,而后就能够随意导入了。在其余 notebook 中也能够这样,只要与 utils.py 文件属于同一个目录便可。
这个工具很酷!Jupyter 考虑到 markdown 中存在 HTML / CSS 格式。如下是我最常用的功能:
蓝色、时尚:
<div class="alert alert-block alert-info">
This is <b>fancy</b>!
</div>复制代码
红色、轻微慌张:
<div class="alert alert-block alert-danger">
This is <b>baaaaad</b>!
</div>复制代码
<div class="alert alert-block alert-success">
This is <b>gooood</b>!
</div>复制代码
想了解和学习键盘快捷键,你可使用命令面板:Ctrl + Shift + P,获取 notebook 全部功能的列表。下面选取了几个最基础的命令:
Esc:进入命令模式。在命令模式内,你可使用方向键在 notebook 内进行导航。
A 和 B:在当前单元格上方(Above)或下方(Below)插入新的单元格。
M:当前单元格转入 Markdown 状态。
Y:当前单元格转入 code 状态。
D,D:删除当前单元格。
Enter:当前单元格回到编辑模式。
Shift + Tab:为你在当前单元格中键入的对象提供文档字符串(文档),持续使用该快捷键,可循环使用文档模式。
Ctrl + Shift + -:在光标所在处分割当前单元格。
Esc + F:查找并替换代码(不包括输出)。
Esc + O:切换单元格输出。
选择多个单元格:
Shift + Down 和 Shift + Up:选中下方或上方的单元格。
Shift + M:合并选中单元格。
注意,选中多个单元格后,你能够批量执行删除/复制/剪切/粘贴/运行操做。
from IPython.core.interactiveshell import InteractiveShellInteractiveShell.ast_node_interactivity = "all"复制代码
使用 RISE,你能够仅经过一次按键将 Jupyter Notebook 即时转变为幻灯片。并且 notebook 仍然处于活跃状态,你能够在展现幻灯片的同时执行实时编码!
conda install -c conda-forge rise复制代码
pip install RISE复制代码
如今,你能够点击新按钮,为 notebook 建立不错的幻灯片了: