Jupyter Notebook数据科学高效技巧

简介: 本文有一些关于Jupyter Notebook的干货,希望看完文章可以给你带来收获

当我学习有关深度学习的优秀的fast.ai课程时,我学到了很多适用于通用软件工程的干货。我写这篇文章是为了总结这些技巧并与你分享。

1.Jupyter Notebook拓展

标准的Jupyter Notebook很不错,但是还有更多的扩展功能可以帮助你完成工作,并且可以将许多功能结合在一起。

Install Jupyter extension package

# Install Jupyterextension package

pip install jupyter_contrib_nbextensions

jupyter contrib nbextension install — user

# Install configurator

pip install jupyter_nbextensions_configurator

# Install theme

pip install jupyterthemes

## Change theme (This is my default)

''' Note that you need to use 1 command to configure the

setting, if you do 2 jt command, the second one will replace

the first one.

'''

jt -t grade3 -T

你可以在这里找到更多Jupyter主题。安装配置器后,你会看到有一个新的“Nbextensions”选项卡。获取这些项目打勾

1.Autopep8

2.Collapsible Headings

3.Gist-it

3492b2679a0edd92b32d14b86f90f98897248dbd

A. Collapsible Headings

现在你可以折叠你的笔记本,而不是滚动无穷的代码。根据我的经验,在进行探索性数据分析和绘制图表时,我写了很多不干净的代码,我必须非常努力地滚动才能到达目的地。你可以展开单元格或折叠单元格以使其更清晰。我想你甚至可以做一个目录(我还没有尝试过这个扩展)。

c98c6fd6fd28b98827e7ce47ad39ff5ac5bfb92c

B. Gist-it

67ec9744a945afb0bf84e5de6e11d0968eda7b7e

如果你以前使用过Gist,它基本上是一个让你共享笔记本的地方。当你想要共享你的代码时,这是非常有用的,特别是当你有bug并且想要共享它的时候。只要按一下按钮,一切就会在几秒钟内完成。

默认情况下,它将发布一个匿名的Gist,如果你想用Github帐户发布它,你需要生成一个令牌认证。主要的区别是,如果你用自己的帐号发表文章,你可以编辑你的要点。

我在这篇文章中使用的笔记本在此。

https://gist.github.com/a0d020c17ce1715bf1d031b1cb8a9fa4

C. Autopep8

4fe1ccbe64aae9c92bb1d2f22c253f752758ceca

造型很重要,但也很无聊。如果你不想太用力,只要按一下这个小按钮,它就会为你做所有的间隔!(PEP8是Python代码的风格指南)

2.把时间花在你的任务上,并从中吸取教训!

我一直在声明循环之前的开始时间,减去当前时间来获得运行时间。这并没有错,但你可以让它变得更容易。使用内置的魔法命令。它们对你来说可能不自然,但使用起来真的很方便。(魔法命令以%开始)

让我们从一个简单的函数开始。它计算的是最后一个小于n的Fibonacci数。

14f255fea6d8df498e5bc9d407f2e6617c4973be

你可以使用%time来计时一次运行或函数%timeit来计时,并得到平均值和标准偏差。这对于这些简单的函数很有用,那么调用另一个函数的函数呢?

这里是%prun,我创建了一个虚函数,可以很长时间调用fib1()。你可以看到循环确实花了一些时间,但大部分时间都花在了fib1()上。

f4afa1d01c26dd6798e5cc8efbe5108e27615314

3.Cython

Cython是一个允许你用python编译C的包,这是numpy和pandas速度很快的主要原因。确保你已经通过Cython安装

pip install cython

在不改变任何代码的情况下,你可以获得即时的双重性能!这很好,但一点也不神奇。

183261048ca0771233b1f18d9fc52ffcc767baa6

如果你稍微修改一下脚本,看看你能实现什么。如果你对 C 编程有一些经验,你可能知道,当我们声明一个变量时,我们需要定义一个数据类型。这个脚本确实改变了一点,因为像这样的操作对于 Python 来说是独一无二的, C 语言没有这个特性。因此,我们需要分配一个临时变量来存储该值。

a,b = b,a

ba422b9356247f5e5ceb5a51aab94cb943ba31ae

(感谢James Martini先前指出了fib3中的一些错误!)

从582到48纳秒,速度提高了10倍,而且你实际上不需要更改很多脚本。对我来说,这是令人兴奋的,因为大部分时间你都可以使用慢速代码。你所关心的是一次次被呼来唤去的。使用%prun和一些Cython代码,可以在不编译任何文件的情况下获得C速度。

除了魔法命令,我发现在Jupyter做shell命令也是非常有用的。(魔法命令以%开始,shell命令以!开始)

ba3e119045b5a4da1199806d15c25bf0c6d1ff56


本文由@阿里云云栖社区组织翻译。

文章原标题《Jupyter Notebook Tricks for Data Science that Enhance your ejciency》

作者:Nok

译者:董昭男,审校:。

文章为简译,更为详细的内容,请查看原文文章

相关文章
|
6月前
|
SQL 机器学习/深度学习 数据挖掘
云端数据科学平台Deepnote,相当于云上的Jupyter Note
云端数据科学平台Deepnote,相当于云上的Jupyter Note
204 0
|
5月前
|
数据采集 机器学习/深度学习 数据可视化
使用Jupyter Notebook进行数据分析:入门与实践
【6月更文挑战第5天】Jupyter Notebook是数据科学家青睐的交互式计算环境,用于创建包含代码、方程、可视化和文本的文档。本文介绍了其基本用法和安装配置,通过一个数据分析案例展示了如何使用Notebook进行数据加载、清洗、预处理、探索、可视化以及建模。Notebook支持多种语言,提供直观的交互体验,便于结果呈现和分享。它是高效数据分析的得力工具,初学者可通过本文案例开始探索。
|
3月前
|
JavaScript 数据挖掘 Python
conda+jupyter玩转数据科学环境搭建
conda+jupyter玩转数据科学环境搭建
|
3月前
|
Python
Jupyter Notebook又一利器nbterm,在终端玩notebook!
Jupyter Notebook又一利器nbterm,在终端玩notebook!
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
Jupyter Notebook: 数据科学的最佳实践
【8月更文第29天】Jupyter Notebook 是一个交互式的计算环境,非常适合进行数据分析、可视化和机器学习任务。它不仅支持多种编程语言(如 Python、R 和 Julia),还能将文本、代码、图表和多媒体元素融合在一起,非常适合编写可重复使用的分析报告。
227 1
|
3月前
|
并行计算 数据可视化 数据处理
面向未来的数据科学工具链:Dask与Jupyter生态系统的融合
【8月更文第29天】随着数据量的不断增长,传统的数据处理方法已经难以满足科研和商业的需求。Dask 是一个并行计算库,能够有效地处理大规模数据集,同时它与 Jupyter Notebook 和其他数据科学工具的无缝集成,使得数据科学家能够构建更加高效的工作流程。本文将探讨如何利用 Dask 与 Jupyter 生态系统构建现代化的数据科学工作流,并通过具体的代码示例展示其实现过程。
39 1
|
5月前
|
文字识别 异构计算 Python
关于云端Jupyter Notebook的使用过程与感想
在自学Python时,由于家庭电脑使用冲突和设备老旧,转向云端平台。体验了多个服务:1. 魔搭modelscope(最喜欢,赠送资源丰富,社区活跃),2. Colaboratory(免费GPU,但有时重启,建议用阿里云),3. Deepnote(免费环境有限,但GPT-4代码生成功能强大),4. 飞桨aistudio(适合PaddlePaddle用户),5. ModelArts(曾有免费实例,现难找)。综合来看,阿里云的稳定性与服务更优,尤其是魔搭的自动代码修正功能。对于AIGC,推荐魔搭和付费版PAI-DSW。欢迎分享更多云端Jupyter平台体验。
228 1
|
5月前
|
Python 数据挖掘 数据可视化
Python数据分析——Pandas与Jupyter Notebook
【6月更文挑战第1天】 本文探讨了如何使用Python的Pandas库和Jupyter Notebook进行数据分析。首先,介绍了安装和设置步骤,然后展示了如何使用Pandas的DataFrame进行数据加载、清洗和基本分析。接着,通过Jupyter Notebook的交互式环境,演示了数据分析和可视化,包括直方图的创建。文章还涉及数据清洗,如处理缺失值,并展示了如何进行高级数据分析,如数据分组和聚合。此外,还提供了将分析结果导出到文件的方法。通过销售数据的完整案例,详细说明了从加载数据到可视化和结果导出的全过程。最后,讨论了进一步的分析和可视化技巧,如销售额趋势、产品销售排名和区域分布,以及
173 2
|
6月前
|
JSON 数据可视化 数据挖掘
适合数据分析的ide---Jupyter Notebook的安装使用
适合数据分析的ide---Jupyter Notebook的安装使用
111 2
|
6月前
|
Ubuntu 网络安全 数据安全/隐私保护
使用SSH隧道将Ubuntu云服务器Jupyter Notebook端口映射到本地
这样,你就成功地将Ubuntu云服务器上的Jupyter Notebook端口映射到本地,使你能够通过本地浏览器访问并使用Jupyter Notebook。
434 1