9个可以提高Jupyter Notebook开发效率的魔术命令

简介: 9个可以提高Jupyter Notebook开发效率的魔术命令

Jupyter Notebook包含一写特殊的命令,我们称之为魔术命令。

正如它的名字,魔术命令是一个特殊的命令。魔术命令通过将%符号与要运行的命令一起使用来工作。

魔术命令有很多种,但在本文中我只展示最常用的9个魔术命令。让我们开始吧。

%who

它将显示您在jupiter Notebook环境中拥有的所有可用变量。让我在下面展示一个例子。

importseabornassnsdf=sns.load_dataset('mpg')
a='simple'b=2

我们创建了3个不同的变量;df, a,和b。如果您在您的Jupyter Notebook单元格中键入%who,它将显示所有现有的变量。

640.png

我们可以看到我们拥有所有的变量,包括环境中预先存在的变量。

如果您想要查看特定的变量,比如只查看str变量,该怎么办?它是很容易的。您需要在魔术命令之后输入对象类型。在本例中,它是%who str。

640.png

%timeit

这个命令很有趣。它通过多次运行来评估代码的执行速度,并产生执行时间的平均+标准偏差。让我们举个例子。

importnumpyasnp%timeitnp.random.normal(size=1000)

640.png

使用%timeit 魔术命令,我们知道每个执行时间的执行时间只会偏差341ns左右。

当您想要确定代码执行和循环过程的稳定性时,这个命令非常有用。

%store

如果你在一个笔记本上做一个项目,而你想在另一个笔记本上传递你的变量,那该怎么办呢?您不需要pickle它或将它保存在某个目标文件中。您需要的是使用%store 魔术命令。

640.png

这是我们以前的Jupyter Notebook与' df '变量包含mpg数据帧。接下来,我想把这个“df”变量移动到另一个笔记本上。我只需要键入%store df。

640.png

“df”变量现在存储在Jupyter Notebook和准备在不同的Jupyter Notebook中共享使用。让我们尝试创建一个新的笔记本,并输入%store -r df。

640.png

我们的“df”变量已经转移到另一个笔记本上,准备用于另一个分析。关于%store 魔术命令的另一个好处在于,您可以删除记事本中的变量,而您仍然可以在%store 魔术命令中存储变量。

%prun

另一个与时间有关的魔术命令。%prun用于计算函数或程序执行每个函数需要多长时间。

%prun的惊人之处在于,它显示了一个列表,列表中其中可以看到语句中每个内部函数被调用的次数、每次调用的时间以及函数所有运行的累积时间。

让我们通过一个示例来运行%prun 魔术命令。

640.png

如上图所示,我们可以看到每个函数在语句中的执行时间,以及它们的执行时间加上累积时间。

%history or %hist

当你花了很多时间做分析后,你想知道你做过什么以及你目前的状况,或者有时候你不得不在单元格之间来回跳转以运行函数时,你会不会经常忘记历史的操作?

在这种情况下,我们可以使用%history 魔术命令查看您的活动日志,并跟踪您已经做了什么。

尝试在jupiter notebook单元格中运行%history,看看输出是什么。

640.png

%pinfo

当处理一个新的对象或包时,您希望获得所有的详细信息。如果你是像我一样懒,那么我们可以使用魔法命令%pinfo 得到所有的详细信息。

让我们尝试使用之前的DataFrame对象运行这个魔术命令。


使用这个神奇的命令,我们可以看到关于对象的所有信息和我们可以使用的所有参数。

%%writefile

对于开发和生产环境来说,jupiter Notebook并不是最好的IDE,但这并不意味着我们不能在jupiter单元中做到这一点。

如果您已经编写了可以复用的函数,并希望将其保存在python文件中,该怎么办呢?当然,您可以打开另一个IDE并复制粘贴该文件,但是有一种更简单的方法可以做到这一点。我们可以使用神奇的命令%%writefile来达到同样的结果。

让我们尝试运行以下代码。

%%writefiletest.pydefnumber_awesome(x):
return9

640.png

检查当前目录;现在应该有一个新的Python文件。

%pycat

如果您想采用另一种方式,比如将Python文件读取到您的jupiter notebook中,该怎么办?您也可以使用%pycat 魔术命令来实现这一点。

让我们尝试阅读我们之前的Python文件。

640.png

一个新的弹出窗口将显示Python文件中的所有代码。

当您希望在jupiter Notebook中使用许多生产和开发代码时,这个神奇的命令非常有用。

%quickref

最后一个魔法命令是%quickref。为什么这是应该知道的魔法命令?因为这个魔法命令详细解释了Jupyter Notebook中存在的所有魔法命令。

我们试着在你的笔记本上运行一下。

640.png

就像这样,现在您将看到您可以使用的每个魔法命令的所有解释。那是多么有用啊!

总结

魔术命令是一种特殊的命令,在Jupyter Notebook它可以帮助我们以提高我们的日常开发效率,作为一个数据科学家。我认为这9个魔法命令是必须知道的。

目录
相关文章
|
4天前
|
Python Windows
Jupyter Notebook的使用
Jupyter Notebook的使用
25 0
|
4天前
|
Ubuntu 网络安全 数据安全/隐私保护
使用SSH隧道将Ubuntu云服务器Jupyter Notebook端口映射到本地
这样,你就成功地将Ubuntu云服务器上的Jupyter Notebook端口映射到本地,使你能够通过本地浏览器访问并使用Jupyter Notebook。
46 1
|
4天前
|
JSON 数据可视化 数据挖掘
适合数据分析的ide---Jupyter Notebook的安装使用
适合数据分析的ide---Jupyter Notebook的安装使用
|
4天前
|
机器学习/深度学习 安全 数据安全/隐私保护
Windows系统安装Jupyter Notebook并实现公网访问内网笔记服务
Windows系统安装Jupyter Notebook并实现公网访问内网笔记服务
|
4天前
|
Linux 数据安全/隐私保护 Python
Linux下远程访问Jupyter Notebook 配置
Linux下远程访问Jupyter Notebook 配置
22 1
|
4天前
|
Windows
Anaconda 与 Jupyter notebook
Anaconda 与 Jupyter notebook
|
4天前
|
自然语言处理 数据可视化 数据挖掘
Python 的科学计算和数据分析: 解释什么是 Jupyter Notebook?
Python科学计算与数据分析中,借助`numpy`进行数值计算,`matplotlib`用于绘图。Jupyter Notebook提供交互式编程环境,支持多语言,集成各种可视化工具。其优势在于结合代码、结果和文本,提升工作效率,具备自动补全、语法高亮等特性。示例展示了导入库,生成随机数据并用`matplotlib`画正弦波图的过程。Jupyter Notebook虽便捷,但复杂任务可能需结合`scipy`、`pandas`等更多库。
20 4
|
4天前
|
机器学习/深度学习 数据可视化 数据挖掘
Jupyter Notebook交互式开源笔记本工具
Jupyter Notebook交互式开源笔记本工具
|
4天前
|
IDE 数据可视化 数据挖掘
Jupyter Notebook使用教程——从Anaconda环境构建到Markdown、LaTex语法介绍
Jupyter Notebook使用教程——从Anaconda环境构建到Markdown、LaTex语法介绍
83 2
|
4天前
|
数据可视化 安全 数据挖掘
技术小白如何轻松安装Jupyter Notebook
技术小白如何轻松安装Jupyter Notebook
104 0