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

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

1.Jupyter Notebook拓展

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

Install Jupyter extension package

# Install Jupyterextension packagepip install jupyter_contrib_nbextensionsjupyter contrib nbextension install — user# Install configuratorpip install jupyter_nbextensions_configurator# Install themepip install jupyterthemes## Change theme (This is my default)''' Note that you need to use 1 command to configure thesetting, if you do 2 jt command, the second one will replacethe first one.'''jt -t grade3 -T

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

1.Autopep8

2.Collapsible Headings

3.Gist-it

A. Collapsible Headings

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

B. Gist-it

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

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

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

https://gist.github.com/a0d020c17ce1715bf1d031b1cb8a9fa4

C. Autopep8

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

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

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

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

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

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

3.Cython

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

pip install cython

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

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

a,b = b,a

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

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

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

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

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

作者:Nok

译者:董昭男,审校:。

原文链接

干货好文,请关注扫描以下二维码:


Jupyter Notebook数据科学高效技巧相关推荐

  1. 使用pelican搭建一个Jupyter Notebook数据科学博客

    前言:这里是我最终搭建的博客,可以先预览看一下效果,这里是 github 地址, 欢迎 fork and star ! 写博客是一个证明你的技能,进一步加深学习和积累受众的一个非常好的方式.已经有非常 ...

  2. Jupyter Notebook的15个技巧和窍门,可简化您的编码体验

    Jupyter Notebook is a browser bases REPL (read eval print loop) built on IPython and other open-sour ...

  3. 数据科学学习心得_学习数据科学时如何保持动力

    数据科学学习心得 When trying to learn anything all by yourself, it is easy to lose motivation and get thrown ...

  4. netflix 开源_Netflix的Polynote是一个新的开源框架,可用来构建更好的数据科学笔记本

    netflix 开源 I recently started a new newsletter focus on AI education. TheSequence is a no-BS( meanin ...

  5. 在jupyter notebook中同时安装python2和python3

    环境 win10 已安装anaconda3 How 1.安装python27> conda create -n py27 python=2.72. conda install --prefix= ...

  6. Jupyter Notebook 交互式编程 低代码拖拽式编程 | 数据科学生态下的理想平台

    近几年,Jupyter Notebook 为数据科学家们提供了与数据有效交互的工具.用户可以运行代码.查看结果,然后重复数据之间的循环和迭代.使用 Jupyter Notebook 进行研究成为了数据 ...

  7. 数据科学工具 Jupyter Notebook 教程(一)

    ipython notebook 是一个基于浏览器的 python 数据分析工具,使用起来非常方便,具有极强的交互方式和富文本的展示效果.jupyter 是它的升级版,它的安装也非常方便,一般 Ana ...

  8. 数据科学工具 Jupyter Notebook 教程(二)

    Jupyter Notebook 是一个把代码.图像.注释.公式和作图集于一处,实现可读性分析的交互式笔记本工具.借助所谓的内核(Kernel)的概念,Jupyter Notebook 可以同时支持包 ...

  9. 10个强大的Python数据科学技巧

    作者|LAKSHAY ARORA 编译|Flin 来源|analyticsvidhya 介绍 你上一次学习新的Python技巧是什么时候?作为数据科学家,我们习惯于使用熟悉的库并每次都调用相同的函数. ...

最新文章

  1. Json返回结果为null属性不显示解决方法
  2. 沾包 nagle算法等
  3. 从产业链看技术的突破,第二届N+ VRARMR技术高峰论坛圆满落幕
  4. 使用Spring和JSR 303进行方法参数验证
  5. 博客园 文章和随笔区别
  6. 如何实现公平的效绩考核?
  7. ubuntu下caffe 安装记录(含GPU)
  8. CMU 15-213 Introduction to Computer Systems学习笔记(7) Machine-Level Programming-Data
  9. 学习《软件工程》心得
  10. 百度大脑FaceID人脸识别模型量化技术,确保算法精度无损加速一倍
  11. 黑苹果+win10双系统折腾笔记
  12. 算法模板:动态规划之线性DP【沈七】
  13. 活跃用户的测算方法与用户黏性指数的提出
  14. 基于FPGA的自动小车控制设计Verilog开发
  15. 做自媒体没素材怎么办?
  16. 记录一些最近用过的编码转换
  17. vscode编译esp8266程序,串口输出在sscom调试助手,中文是乱码
  18. SVM 原理详解,通俗易懂
  19. 如何学好3D游戏引擎编程.txt
  20. turtlebot2利用turtlebot_exploration_3d进行自主建图

热门文章

  1. C语言和其他高级语言的最大的区别是什么?
  2. 【LeetCode笔记】70. 爬楼梯(Java、动态规划)
  3. 【学习笔记】数据链路层——随机访问介质访问控制(ALOHA、CSMA、CSMA/CD、CSMA/CA),截断二进制指数规避算法
  4. idea 保存设置 新建项目_配置、创建IntelliJ IDEA Spring MVC 项目
  5. c# 操作redisclient 设置过期时间_C# Redis分布式锁单节点
  6. 分割函数python_python strip() 函数和 split() 函数的详解及实例
  7. 功败垂成的王安石是大宋最后的体面
  8. 如何避免大脑短路?用心理学分析重庆公交车坠江案
  9. 吓人!深夜悄悄上街扫地!
  10. PHP框架编写和应用知识点,php框架知识点的整理和补充