首页
Preview

两个绝妙的Jupyter技巧,肯定能为你节省数小时的工作时间

Jupyter Notebooks以其简单、流畅、适合初学者、时尚的设计,几乎是今天任何面向Python的任务所必需的。回想起来,没有交互式Python(IPython)工具像Jupyter那样,我甚至无法想象我的生活会是什么样子。

Jupyter(作者创建的图像)

实际上,IPython最显著的优点是通过在内存中保留对象,只要内核处于活动状态,就可以减少重新运行脚本的摩擦力。

此外,Jupyter也适用于典型的原型制作目的。

这使得像数据清理、转换和可视化、数值模拟、统计建模、机器学习等任务相对容易。

然而,由于它们的简单性,开发人员通常会犯一些常见错误(无意识地),这些错误会浪费他们的时间和计算——这是一个项目中的两个基本支柱。

因此,在本文中,我将分享几乎每个Jupyter用户都犯过的两个错误。除此之外,我还将提供一个优雅的解决方案,可以为你节省大量时间。

让我们开始吧🚀!

错误1

你是否曾经遇到过在Jupyter中编写了一些代码,但在计算后意识到忘记将其分配给变量的情况?

在这种情况下,你不得不不情愿地再次执行单元格并生成结果以将它们分配给变量。

我可以理解这种感觉,因为我自己也有过这种经历。

解决方案

如果我告诉你有一个聪明的解决方案呢?

当你在Jupyter中执行单元格时,你是否看到单元格旁边有像“In [2]:”这样的东西?

Jupyter单元格(作者的图像)

同样,你还可以在输出面板旁边看到一些内容。更具体地说,它表示为“Out[3]:”。

Jupyter单元格(作者的图像)

在IPython中,“Out”是一个标准的Python字典,它存储“output-id”到“cell-output”的映射。“In”是一个Python列表,按顺序存储执行的代码。

它们的类型可以验证如下:

因此,如果你忘记将输出分配给某些变量,可以使用“Out”字典并传递旁边出现的“output-id”。

例如,在上面的“groupby”输出中,你可以使用“Out[3]”来检索结果。

这不酷吗?

错误2

在使用Jupyter Notebook时,由于多种原因,人们可能希望重启内核。但是,在重启之前,人们经常倾向于将数据对象转储到磁盘上,以避免在后续运行中重新计算它们。

这是一个耗时的过程。此外,单独存储每个重要数据对象也很麻烦。

解决方案

“store”魔法命令是解决这个问题的理想解决方案。在这里,即使重新启动内核,你也可以获得以前计算的值。

更重要的是,你永远不需要通过麻烦地将对象转储到磁盘上。

这在下面的视频中进行了演示:

存储命令的演示(作者的GIF)

如上所示,存储魔法命令允许你在重新启动内核后检索以前计算的值。

总结一下,这些是步骤:

步骤1: 使用%store存储变量。

这里的“value”是一个变量。

步骤2: 重新启动内核后,使用带有-r选项的%store

请注意,你也可以使用单个%store命令存储多个值。

结论

通过这篇博客,我希望你学到了一些新东西。

我相信这两个技巧将在交互式Python环境中工作时节省大量时间。

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
alivne
复杂的问题简单化

评论(0)

添加评论