Jupyter Notebook数据科学高效技巧

摘要: 本文有一些关于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

译者:董昭男,审校:。

原文链接

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



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

格罗方德起诉台积电侵犯16项专利、影响巨大;中兴通讯与印尼Smartfren展开合作;网传FB开发新通讯应用Threads……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 索尼将于9月5日在IFA 2019上…

JS之前台参数提交到后台,双引号转义为解决办法

问题描述 var param $("#searchForm").serializeJson(); 前台封装好了键值对形式的字符串,使用了EasyUI的treeGrid控件,传到后台后,双引号转义为" 解决办法 apache工具包common-lang中有一个很有用的处理字符串的工具类&am…

MaxCompute理解数据、运算和用户的大脑:基于代价的优化器

摘要: 回顾大数据技术领域大事件,最早可追溯到06年Hadoop的正式启动,而环顾四下,围绕着数据库及数据处理引擎,业内充斥着各种各样的大数据技术。在云栖社区2017在线技术峰会大数据技术峰会上,阿里云大数据计…

MaxCompute与OSS非结构化数据读写互通(及图像处理实例)

摘要: MaxCompute作为阿里巴巴集团内部绝大多数大数据处理需求的核心计算组件,拥有强大的计算能力,随着集团内外大数据业务的不断扩展,新的数据使用场景也在不断产生。在这样的背景下,MaxCompute(ODPS&…

装mysql最后一步没响应_每天14点遭遇惊魂时刻,如何一步一步揪出真凶?

“ 笔者所在的公司有一款大 DAU(日活)的休闲游戏。这款游戏的后端架构很简单,可以简单理解为通讯-逻辑-存储三层结构。其中存储层大量使用了 Redis 和 MySQL。图片来自 Pexels随着存量用户的增加,Redis 就隔三差五的出现问题。所以笔者打算把遇到的一系列…

form表单提交,后台实体类接收转义问题

问题:前台表单用ajax提交,data为validateForm.serializeArray(),后台用实体类接收参数,&符号被转义为&但是从request中直接取值是没问题的,请问如何解决实体类接收到的参数的转义问题。 代码如下:…

AI落地谁最强?AI Top 30+案例评选等你来秀

人工智能历经百年发展,如今迎来发展的黄金时期。目前,AI 技术已涵盖自然语言处理、模式识别、图像识别、数据挖掘、机器学习等领域的研究,在汽车、金融、教育、医疗、安防、零售、家居、文娱、工业等行业获得了令人印象深刻的成果。在各行业宣…

NAT网关之SNAT进阶使用(二)构建ECS级别SNAT出网方式

摘要: NAT网关是云上VPC ECS访问Internet的出入口。阿里云NAT网关控制台创建SNAT条目默认只支持交换机粒度。如何设置ECS粒度的SNAT规则呢,本文将为您揭晓。 背景 NAT网关是云上VPC ECS访问Internet的出入口。阿里云NAT网关控制台创建SNAT条目默认只支持…

java下载json需要的包_jenkins 获取插件,下载插件提速,配置国内镜像

jenkins 是目前比较流行的自动化运维工具,由于 jenkins 的镜像源是国外的所以在下载插件的时候会非常慢,甚至会超时,所以本文就重点介绍如何解决这个问题。正确的做法自然是修改为国内的镜像源,本文使用的是清华大学的镜像源站 清华大学开源软…

使用NAT网关轻松为单台云服务器设置多个公网IP

摘要: 背景 在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。 配置单云主机多公网IP功能流程 1、为ECS实例配置多块网卡。 2、创建NAT网关。 背景 在应用中,有时…

如何把手变成手控_手把手教您如何在生产环境直接web级设计图形报表

相信很多从事数据分析的兄弟姐妹,对于数据报表的设计,图形化的设计等等,都是停留在后台进行模板设计,设计好模板后,再上传到前台,发布进行显示,这也是目前绝大多数工具的模式。也难怪&#xff0…

老兵戴辉:华为操作系统28年史

戳蓝字“CSDN云计算”关注我们哦!来源 | 内容来自「最牛博弈」作者 | 老兵戴辉8月9日,东莞松山湖沸腾的一天,华为消费者业务CEO余承东发布了鸿蒙操作系统,中文来自山海经,英文叫HarmonyOS,不是以前传说的Oa…

深圳云栖大会人工智能专场:探索视频+AI,玩转智能视频应用

摘要: 在人工智能时代,AI技术是如何在各行业和领域真正的发挥应用和商业价值,带来产业变革才是关键。在3月28日深圳云栖大会的人工智能专场中,阿里云视频服务技术专家邹娟将带领大家探索熟悉的视频场景中,AI技术如何应…

javaee 中文帮助文档_大牛耗时三天整理的:微服务+Nginx+Kubernetes实战文档和面试题...

前言十年之前,相信大家掌握了Java EE互联网轻量级框架整合开发 SSM框架SpringMVCSpringMyBatis就已经能够轻轻松松找到一份薪资很高的java开发工作了,而如今只会SSM的小伙伴,已经找不到工作了,已经以Spring全家桶、微服务作为基础…

工作流实战_17_flowable 流程实例撤回

由于群里有些朋友对这个flowable还不是很熟悉,师傅(小学生05101)制作一个开源的项目源码,一共大家学习和交流,希望对有帮助,少走弯路 如果有不懂的问题可以入群:633168411 里面都是一些热心肠的人。 项目地址https://g…

arraylist数据5万占内存_2021年北京市高考报名人数会超过5万吗?大数据告诉您结果...

随着新疆维吾尔自治区高考报名最后一个发布,2021年全国各省、市、自治区报名均已经实施并已基本结束。大家关心的问题是,2021年全国高考报名人数会有多少?竞争激烈程度如何?众所周知,2020年全国高考报名人数为1071万人…

你需要熟练运用的12个命令行工具

摘要: 本文简要介绍了当前较为流行的12种对数据科学任务有价值的类Unix操作系统命令行工具:wget,cat,wc,head,tail,find,cut,uniq,awk,grep&#…

使用PyTorch从零开始构建Elman循环神经网络

摘要: 循环神经网络是如何工作的?如何构建一个Elman循环神经网络?在这里,教你手把手创建一个Elman循环神经网络进行简单的序列预测。 本文以最简单的RNNs模型为例:Elman循环神经网络,讲述循环神经网络的工作…

Flowable工作流总结_工作规范流程设计思路

工作规范工作流场景,一般是甲方发起,乙方宣导学习。 文章目录一、工作规范流程图绘制元素二、流程图展示三、工作规范流程图:四、流程说明五、知识补充六、问题思考?一、工作规范流程图绘制元素 绘制元素说明主键(ID)自定义,建议…

K8S精华问答 | CentOS下如何配置主机互信?

作为是Google开源的容器集群管理系。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。今天,我们就来看看关于k8s的精华问答吧。1Q: Kubernetes集群不能正…