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个魔法命令是必须知道的。

目录
相关文章
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
使用Jupyter Notebook进行数据分析:入门与实践
【6月更文挑战第5天】Jupyter Notebook是数据科学家青睐的交互式计算环境,用于创建包含代码、方程、可视化和文本的文档。本文介绍了其基本用法和安装配置,通过一个数据分析案例展示了如何使用Notebook进行数据加载、清洗、预处理、探索、可视化以及建模。Notebook支持多种语言,提供直观的交互体验,便于结果呈现和分享。它是高效数据分析的得力工具,初学者可通过本文案例开始探索。
|
24天前
|
SQL 数据可视化 数据库
jupyter中那些神奇的第三方拓展魔术命令
jupyter中那些神奇的第三方拓展魔术命令
jupyter中那些神奇的第三方拓展魔术命令
|
24天前
|
Python
Jupyter Notebook又一利器nbterm,在终端玩notebook!
Jupyter Notebook又一利器nbterm,在终端玩notebook!
|
24天前
|
机器学习/深度学习 数据挖掘 Shell
Jupyter notebook中5个有趣的魔法命令
Jupyter notebook中5个有趣的魔法命令
|
3月前
|
文字识别 异构计算 Python
关于云端Jupyter Notebook的使用过程与感想
在自学Python时,由于家庭电脑使用冲突和设备老旧,转向云端平台。体验了多个服务:1. 魔搭modelscope(最喜欢,赠送资源丰富,社区活跃),2. Colaboratory(免费GPU,但有时重启,建议用阿里云),3. Deepnote(免费环境有限,但GPT-4代码生成功能强大),4. 飞桨aistudio(适合PaddlePaddle用户),5. ModelArts(曾有免费实例,现难找)。综合来看,阿里云的稳定性与服务更优,尤其是魔搭的自动代码修正功能。对于AIGC,推荐魔搭和付费版PAI-DSW。欢迎分享更多云端Jupyter平台体验。
128 1
|
3月前
|
Python 数据挖掘 数据可视化
Python数据分析——Pandas与Jupyter Notebook
【6月更文挑战第1天】 本文探讨了如何使用Python的Pandas库和Jupyter Notebook进行数据分析。首先,介绍了安装和设置步骤,然后展示了如何使用Pandas的DataFrame进行数据加载、清洗和基本分析。接着,通过Jupyter Notebook的交互式环境,演示了数据分析和可视化,包括直方图的创建。文章还涉及数据清洗,如处理缺失值,并展示了如何进行高级数据分析,如数据分组和聚合。此外,还提供了将分析结果导出到文件的方法。通过销售数据的完整案例,详细说明了从加载数据到可视化和结果导出的全过程。最后,讨论了进一步的分析和可视化技巧,如销售额趋势、产品销售排名和区域分布,以及
120 2
|
4月前
|
Linux 数据安全/隐私保护
anaconda运行Notebook和jupyter报错resource.setrlimit(resource.RLIMIT_NOFILE, (soft, hard)) ValueError
anaconda运行Notebook和jupyter报错resource.setrlimit(resource.RLIMIT_NOFILE, (soft, hard)) ValueError
42 0
|
4月前
|
Ubuntu 网络安全 数据安全/隐私保护
使用SSH隧道将Ubuntu云服务器Jupyter Notebook端口映射到本地
这样,你就成功地将Ubuntu云服务器上的Jupyter Notebook端口映射到本地,使你能够通过本地浏览器访问并使用Jupyter Notebook。
308 1
|
4月前
|
Python Windows
Jupyter Notebook的使用
Jupyter Notebook的使用
116 0
|
4月前
|
Linux 数据安全/隐私保护 Python
Linux下远程访问Jupyter Notebook 配置
Linux下远程访问Jupyter Notebook 配置
63 1