澳门威尼斯赌场


红米伍G手提式有线电话机将于二〇一玖年3季度推出,金立二〇一玖年推首款全版消除方案的五G手提式有线电电话机

何人能稳坐客厅的C位,辞别每二十十二日找遥控器的小日子

初学者须求IPython,Notebook的3大短板

原标题:Jupyter Notebook的3大短板,都被这一个新工具补齐了

Jupyter Notebook,
在此从前又称作IPython notebook,是二个交互式台式机, 协助运营40+种编制程序语言.
能够用来编排美观的交互式文书档案.

澳门威尼斯赌场官网 1

ipython 是 jupyter
notebook的前身并兼有ipython的整整作用

夏乙 发自 凹非寺

Linux下, Jupyter
Notebook的安装进程可以参见Jupyter官网,
具体的, 大概只供给一句话就能消除:

图片.png

       

在机械学习和数码正确领域,Jupyter已经明朗。它把笔记、代码、图表、注释融入在1个交互式的台式机里,还是能加多各样扩张功用。可谓机器学习入门进阶研讨之神器。

pip install jupyter

Jupyter Notebook(在此在此之前被号称 IPython
notebook)是三个交互式台式机,扶助运维 40 两种编制程序语言。Jupyter
Notebook 的精神是一个 Web
应用程序,便于创立和共享教育学化程序文书档案,援救实时期码,数学方程,可视化和
markdown。
用途包蕴:数据清理和转移,数值模拟,总结建立模型,机器学习等等Jupyter
Notebook(在此以前被叫做 IPython notebook)是八个交互式台式机,支持运维 40
多样编制程序语言。Jupyter Notebook 的真面目是3个 Web
应用程序,便于创立和共享管农学化程序文档,支持实时期码,数学方程,可视化和
markdown。 用途包罗:数据清理和转移,数值模拟,总结建立模型,机器学习等等.

jupyter具备 cell,
markdown 整合的效能, 能同时运维代码, 而且是多组的.
同时也足以插入markdown那种多职能注释 包罗图形(但支撑很差).

澳门威尼斯赌场官网 2

设置完事后,
在顶峰运转 jupyter notebook
就能够张开jupyter notebook. 先看2个用jupyter notebook的事例(图一),
有个直观的纪念:

  • 知乎:为何用Jupyter
    Notebook

  • 前些天察觉Jupyter
    Notebook相比好用交互式台式机,小编感到我今后会平常用到.
    1 . Jupyter
    Notebook官网
    2 .
    markdown好用的手册
    三 . 装置步骤参照官方网站步骤
    4 . Jupyter
    Notebook增多目录

  • 起步Jupyter Notebook
    后,开掘浏览器打开的是暗中同意文件路线,那样会把计算机多数文本夹都加载上去了,假若要新建二个深透的文本管理,那样操作:
    壹 . command + shift + G前往文件夹: /Users/zh/.jupyter/
    2 . 打开jupyter_notebook_config.py配置文件
    3 . command + F 查找 : c.NotebookApp.notebook_dir
    肆 . 等号前边修改你本人处理的文件路线

  • 在Jupyter
    Notebook写好之后,再github上新建三个酒馆,将协和的地点Jupyter
    Notebook写的.ipynb文件上传上去就好了

  • 最后将团结的github地址复制到nbviewer上点击GO,你的对外分享地址就生成了.

  • 初体验:请戳我

写教程,写博客卓殊一级.
而且还是能上传到jupyterhub…听他们讲要和谐搭建

可是,神器也有短板

澳门威尼斯赌场官网 3

澳门威尼斯赌场官网 4

       

  • 文本是稳固的JSON格式,体量还尤其大;
  • 要在浏览器里编辑文书档案好烦,好思量自身喜好的编辑器;
  • 版本调节好困难,想用标准的合并工具来同盟,但是人家只协助文件!

图1 一个Jupyter Notebook

图片.png

对于初学者的话,
jupyter毕竟是1个web应用, 存储文件有动荡的地点.
建议依然使用pycharm那类的软件编写制定代码. 假设是用于写博客,
sublime能够安装插件copy as html jupyter对于copy的优化不够.
特别是离线图片保存起来是无法呈现的.

眼下生产的3个工具,帮Jupyter Notebook把那么些短板补齐了。

诸如,
你要向人家解释你的先后, 你或者要新建一个word, 把代码复制进去,
对每块代码实行讲明. 这样会有多少个难点, 1) 代码格式不佳看; 二)
代码的配色丢失; 三) 代码与文字表达部分界别不明显. 使用Jupyter Notebook,
能够让代码保持其在编辑器里面的格式, 看起来很正规. 而且, 复制进去的代码是足以运作的. 敲击完代码之后,
按Shift+Enter, 可能地方的Run Cell键变能够博得代码运转结果. 那里,
写Notebook时候, 都是以cell为中央单位的, cell有两种档期的顺序: 如code, markdown, heading等. 借使设置为code类型,
里面的内容正是足以运作的;
heading类型的cell能够扶助大家设置标题(顶级,二级,三级等标题),
markdown类型的cell可以使大家用markdown的语法来编排文本.

jupyter详细教程 

其壹工具叫Jupytext,顾名思义,可以把Jupyter
Notebook的内容转化成纯文本,用你最顺手的IDE张开。

澳门威尼斯赌场官网 5

Python·Jupyter Notebook各个应用办法记录·持续立异

澳门威尼斯赌场官网 6

图二 Jupyter Noteboook代码示例

标签(空格分隔): Python

于是乎,编辑合作版本调控等一密密麻麻主题材料,一挥而就。

文书档案写好以往,
保存成为一般的.ipynb的格式,
可是也得以保留成任何的格式, 如: Python(.py), 马克down(.md), HTML(.html),
reST(.rst), PDF via Latex(.pdf), Presentation(.html).

澳门威尼斯赌场官网 7

Jupytext现在援助的言语还不能够覆盖Jupyter
Notebook的万事,但解决了最盛行的两种。它支持Jupyter
Notebook和底下那个格式之间的相互调换:

参考文献:

  • PythonJupyter
    Notebook各类应用办法记录不断立异

  • Jupyter
    NoteBook的安装

    • 1 新版本Anaconda自带Jupyter
    • 贰 老版本Anacodna需本身安装Jupyter
  • 2改换Jupyter
    notebook的劳作空间

    • 壹Jupyter的做事空间在哪儿钦命
    • 2如何找到该配置文件
  • 3Jupyter的各样急迅键

  • 4Jupyter
    Notebook如何导入代码

    • 1 将本地的py文件load到jupyter的2个cell中
    • 2 从网络load代码到jupyter
  • 五Jupyter运行python文件

  • 6Jupyter部分其余琐碎用法

    • 1 jupyter的cell能够看成unix
      command使用
    • 2 Magic
      functions
    • 3 获取current working
      directory
    • 4 使用Matplotlib绘图
  • 七Jupyter中的Markdown

    • 壹 在jupyter中设置link必要设置两有个别
    • 2 为Jupyter
      Notebook增加目录功用

Julia脚本(.jl)、Python脚本(.py)、R脚本(.R)、Markdown文件(.md)、R
Markdown文件(.Rmd)。

[1] Jupyter
Notebook火速入门:

澳门威尼斯赌场官网 8

Jupytext作者Marc
Wouts在壹篇博客里呈现了哪些借助这一个工具在IDE也许编辑器里来编辑Jupyter
Notebook、举行版本调控。

Jupyter notebook )前身为IPython Notebook,学习时,能够找两者的教程

地点正是Jupytext使用进度的1个例子:把一个Jupyter
Notebook存款和储蓄为.ipynb和.py二种文件格式、用PyCharm打开.py脚本来修改代码、保存之后刷新浏览器,就能在Jupyter
Notebook里看看新结果了。

  • Jupyter Project
    Documentation
  • Jupyter Notebook
    Documentation
  • Jupyter/IPython
    Notebook Quick Start
    Guide
  • Old IPython
    Notebook Homepage

想要在一大堆代码和笔记里找找内容、编辑、实行cell、debug……用IDE比用Jupyter
Notebook要有益于得多。

澳门威尼斯赌场官网 9

澳门威尼斯赌场官网 10

一、
Jupyter NoteBook的安装

上海体育场面则是对文本实施版本检查,然后将有意义的差别合并的经过。

1.1 新版本Anaconda自带Jupyter

看起来不错,怎么设置呢?

  • 近来,最新版本的Anaconda是自带Jupyter
    NoteBook的,不须要再单独安装 
    澳门威尼斯赌场官网 11

其1工具帮助pypi.安装,代码是如此的:

一.二 老版本Anacodna需自身安装Jupyter

upytext frompip

Jupyter Notebook安装的官网

pip install jupytext –upgrade

  • 安装Jupyter
    Notebook的先决条件:已经安装了python(python
    2.7 或者是python3.3)
    •    

    具体的装置方式:

    • 法定提议选取Anaconda安装Jupyter
    • 安装完结Anaconda后,假诺该Anaconda并不自带Jupyter
      Noterbook,那么,展开cmd,输入:conda install
      jupyter
  • 这么设置完的jupyter不具备New a terminal的效率 
    由此各样查询才晓得,原来是因为windows不持有terminal须要的TTY,所以,windows下的jupyter是不协理Terminal情势的,而且长时间内也并未有扩大那种支撑的安顿

    澳门威尼斯赌场官网 12

    二、 更换Jupyter notebook的做事空间

    二.1 Jupyter的劳作空间在何地钦命?

    在其配备文件ipython_notebook_config.py中,有如下一句

    # The directory to use for notebooks
    and kernels.

# Append this to .jupyter/jupyter_notebook_config.py
c.NotebookApp.contents_manager_class=”jupytext.TextFileContentsManager”

\#
c.NotebookApp.notebook\_dir = u''  

-   1


-   2


-   3


-   1


-   2


-   3


该句就是用来指定其工作空间的,例如,默认的工作空间是:用户名文件夹,例如,现在想要将工作空间变为D:\\Jupyter,那么,需要做如下更改(要记得删掉注释\#)  

\# The directory to use for
notebooks and kernels.


c.NotebookApp.notebook\_dir = u'D:\\Jupyter'


**这句话很容易抄错, ''前面是u ,还要去掉\#号, 而且你要在本地建立一个文件夹, 如果文件夹不存在也会出错. ** 

-   1


-   2


-   3


-   1


-   2


-   3


注意:路径最后一级后面不要加符号"\\"  

2.2 如何找到该配置文件?  

参考目录C:\\Users\\Administrator\\.jupyter


-   在cmd中输入jupyter notebook
    --generate-config

-   如果该配置文件已经存在,那么,会出现如下信息,从中可以见到配置文件存在的位置,注意,此时,输入N,不要overwrite   
    ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124914757-808911180.png)
-   如果该配置文件不存在,那么,将会初始化产生一个配置文件 

在cmd中输入:ipython profile
create   
可以找到关于jupyter的配置文件的位置  

三、Jupyter的各种快捷键  

-   执行当前cell,并自动跳到下一个cell:Shift
    Enter 
-   执行当前cell,执行后不自动调转到下一个cell:Ctrl-Enter 
-   是当前的cell进入编辑模式:Enter 
-   退出当前cell的编辑模式:Esc 
-   删除当前的cell:双D 
-   为当前的cell加入line number:单L 
-   将当前的cell转化为具有一级标题的maskdown:单1 
-   将当前的cell转化为具有二级标题的maskdown:单2 
-   将当前的cell转化为具有三级标题的maskdown:单3 
-   为一行或者多行添加/取消注释:Crtl
    / 
-   撤销对某个cell的删除:z 
-   浏览器的各个Tab之间切换:Crtl
    PgUp和Crtl
    PgDn 
-   快速跳转到首个cell:Crtl
    Home 
-   快速跳转到最后一个cell:Crtl
    End 

四、Jupyter Notebook如何导入代码  

即导入代码到jupyter notebook的cell中  

4.1 将本地的.py文件load到jupyter的一个cell中  

**问题背景**:有一个test.py文件,需要将其载入到jupyter的一个cell中   
test.py内容如下:  

import
caffe  

SolverName = "/root/workspace"


sovler =
caffe.AdamSolver(SolverName)



-   1


-   2


-   3


-   1


-   2


-   3


**方法步骤**:   
(1)在需要导入该段代码的cell中输入  

%load test.py
\#test.py是当前路径下的一个python文件  

-   1


-   1


![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124915179-625208429.png) 

(2)运行该cell   
利用快捷键"Shift+Enter",可以看到如下结果:   
![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124915585-766722464.png) 

(3)可以看到,运行后,%load
test.py被自动加入了注释符号\#,test.py中的所有代码都被load到了当前的cell中  

4.2 从网络load代码到jupyter  

-   在cell中输入%load
    http://.....,然后运行该cell,就会将load后面所对应地址的代码load到当前的cell中; 
-   下面给出一个例子,导入[matplotlib中的一个小例子](http://matplotlib.org/)[color example
    code
    ](http://matplotlib.org/examples/color/color_cycle_demo.html)

    -      

        首先,在想要导入该段代码的cell中输入  

        %load
        test.py \#test.py是当前路径下的一个python文件



    -      

        1



    -      

        1



    -   然后,Shift+Enter运行,可以看到如下结果:   
        ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124915991-1554484035.png)  
        可以看到,运行后,%load
        test.py被自动加入了注释符号\#,test.py中的所有代码都被load到了当前的cell中 

-      

    五、Jupyter运行python文件  

    -   利用jupyter的cell是可以运行python文件的,即在cell中运行如下代码: 

    %run file.py  

    -   1


    -   1


    file.py为要运行的python程序,结果会显示在该cell中   
    ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124916413-169124120.png)  
    ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124917179-1267876623.png) 

    六、Jupyter一些其他琐碎用法  

    6.1 jupyter的cell可以作为unix command使用  

    具体方法为:在unitx command前面加入一个感叹号"!"  

    例子:   
    查看python版本:!python
    --version   
    运行python文件:!python
    myfile.py



    6.2
    Magic functions  

    还没有太明白,具体细节见[](http://nbviewer.jupyter.org/github/ipython/ipython/blob/1.x/examples/notebooks/Cell%20Magics.ipynb)The
    cell magics in IPython



    6.3 获取current working directory



    即当前运行的代码所在的路径   
    具体方法:current\_path =
    %pwd   
    这样得到的current\_path就是当前工作路径的字符转  

    6.4 使用Matplotlib绘图 


    在Jupyter Notebook中,如果使用Matplotlib绘图,有时是弹不出图像框的,此时,可以在开头加入  

    %matplotlib
    inline 


    -   1


    -   1


    七、Jupyter中的Markdown 


    [参考1](http://sebastianraschka.com/Articles/2014_ipython_internal_links.html)   
    [Markdown
    ](http://blog.leanote.com/post/freewalk/Markdown-%E8%AF%AD%E6%B3%95%E6%89%8B%E5%86%8C)语法手册
    (完整整理版)参考



    7.1 在jupyter中设置link,需要设置两部分: 


    -   要跳到的位置(the destination)   
        需要在要跳转到的位置添加下面语句:  

        <a id='the\_destination'></a> 


    -   1


    -   1


        这里的id取值任意赋值,下面在添加链接时要用  

    -   需要添加链接的文字(an internal hyperlink to the
        destination),即点击该处可以跳转到the
        destination,在需要添加链接的文字后面加入:  

        \[需要添加连接的文字\](\#the\_destination) 


    -   1


    -   1


    -   下面是一个例子:   
        源码:   
        ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124917726-1134989233.png)  
        效果图:   
        ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124918538-647098347.png) 

    7.2 为Jupyter Notebook添加目录功能 


    -   原始的Jupyter是不支持markdown添加目录功能的  
    -   实际上,可以利用[Jupyter notebook
        extensions去使得这种功能实现
        ](https://github.com/ipython-contrib/jupyter_contrib_nbextensions) 
    -   -      

        具体方法:  

        -   利用Anaconda安装Jupyter Notebook
            extensions   
            conda
            install -c conda-forge
            jupyter\_contrib\_nbextensions   
            ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124919210-1964383629.png) 
        -   打开Jupyter
            Notebook,在它的(新增的)Nbextensions标签下勾选"Table of Contents(2)"   
            ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124919726-1176001671.png) 
        -   打开一个.jpynb文件,发现,目录功能可用了!   
            ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124920538-1371742315.png) 

        ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124920835-1994743880.png)


        参考文献   
        \[1\] [](https://zhuanlan.zhihu.com/p/24029578?refer=learnMLb/jupyter_contrib_nbextensions)为Jupyter Notebook添加目录



        ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124921273-17785098.png) 

        顶 


        14 


        踩 


        0 


        [ ](javascript:void(0);)


        [ ](javascript:void(0);)


        -   上一篇[theano安装(一)windows配置安装theano环境(非GPU版)、keras
            ](http://blog.csdn.net/tina_ttl/article/details/51404165) 
        -   -      

            下一篇[Docker学习系列(二):Ubuntu14.04下安装Docker-2016.06.26更新版
            ](http://blog.csdn.net/tina_ttl/article/details/51417193)


              相关文章推荐


        -   -      

            • [Linux\_Swap持续增长的问题(tcpdump引入,与使用方法)](http://weimou66.iteye.com/blog/1479235)  

        -   • [\[DL\]python使用相关工具说明](http://blog.csdn.net/zyh821351004/article/details/71336121)


        -   • [CSDNBlog使用方法(非官方,持续更新)(已更新二次)](http://soft-app.iteye.com/blog/911955)


        -   • [Jupyter notebook 使用
            \[持续更新\]](http://blog.csdn.net/dachylong/article/details/55517632)


        -   • [《财富》专访杰夫·维纳:LinkedIn上市一年后如何自保并持续扩张](http://xwk.iteye.com/blog/2140699)


        -   • [如何高效的学习 TensorFlow
            代码?](http://blog.csdn.net/forfuture3513/article/details/53204796)


        -   • [亚伦·赖金的节约时间的18种方法](http://hududanyzd.iteye.com/blog/1346000)


        -   • [在PyCharm环境中使用Jupyter
            Notebook的两种方法](http://blog.csdn.net/xiemanR/article/details/71837385)


        -   • [gevent
            任务的持续追加和执行(续·真)](http://iyuan.iteye.com/blog/897539)


        -   • [【电子基础】电子基础知识·持续更新](http://blog.csdn.net/hackdevil/article/details/9190467)


        猜你在找



        Jupyter
        Notebook的27个秘诀,技巧和快捷键



        文摘供稿



        ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124921554-713310780.png)


        [原文链接](https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/)   
        翻译:姜范波   
        校对:毛丽 &&
        寒小阳



        Jupyter
        Notebook 


        Jupyther
        notebook ,也就是一般说的
        Ipython notebook,是一个可以把代码、图像、注释、公式和作图集于一处,从而实现可读性分析的一种灵活的工具。   
        Jupyter延伸性很好,支持多种编程语言,可以很轻松地安装在个人电脑或者任何服务器上——只要有ssh或者http接入就可以啦。最棒的一点是,它完全免费哦。




        ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124922195-1426646105.png)  
        Jupyter 界面 



        默认情况下,Jupyter
        Notebook 使用Python内核,这就是为什么它原名
        IPython Notebook。Jupyter
        notebook是Jupyter项目的产物——Jupyter这个名字是它要服务的三种语言的缩写:Julia,PYThon和R,这个名字与"木星(jupiter)"谐音。本文将介绍27个轻松使用Jupyter的小窍门和技巧。



        1、快捷键



        高手们都知道,快捷键可以节省很多时间。Jupyter在顶部菜单提供了一个快捷键列表:Help >
        Keyboard Shortcuts 。每次更新Jupyter的时候,一定要看看这个列表,因为不断地有新的快捷键加进来。另外一个方法是使用Cmd +
        Shift + P (  Linux 和
        Windows下 Ctrl +
        Shift + P亦可)调出命令面板。这个对话框可以让你通过名称来运行任何命令——当你不知道某个操作的快捷键,或者那个操作没有快捷键的时候尤其有用。这个功能与苹果电脑上的Spotlight搜索很像,一旦开始使用,你会欲罢不能。




        ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124922648-1054034131.gif)   

        几个我的最爱:



        -   Esc +
            F 在代码中查找、替换,忽略输出。  

        -   Esc +
            O 在cell和输出结果间切换。  

        -   选择多个cell:   

            -   Shift +
                J 或 Shift +
                Down 选择下一个cell。  

            -   Shift +
                K 或 Shift + Up
                选择上一个cell。  

            -   一旦选定cell,可以批量删除/拷贝/剪切/粘贴/运行。当你需要移动notebook的一部分时这个很有用。  

        -   Shift +
            M 合并cell.   
            ![](https://images2015.cnblogs.com/blog/1144596/201706/1144596-20170621124923179-44351954.gif) 

        2、变量的完美显示



        有一点已经众所周知。把变量名称或没有定义输出结果的语句放在cell的最后一行,无需print语句,Jupyter也会显示变量值。当使用Pandas
        DataFrames时这一点尤其有用,因为输出结果为整齐的表格。   
        鲜为人知的是,你可以通过修改内核选项ast\_note\_interactivity,使得Jupyter对独占一行的所有变量或者语句都自动显示,这样你就可以马上看到多个语句的运行结果了。

# And restart your notebook server

  1. In [1]: from IPython.core.interactiveshell
    import InteractiveShell

  2. InteractiveShell.ast_node_interactivity = “all”

  3. In [2]: from pydataset import data

  4. quakes
    = data(‘quakes’)

  5. quakes.head()

jupyter notebook

  1. 初学者须求IPython,Notebook的3大短板。quakes.tail()

在Jupyter
Notebook的元数据里输入jupytext_formats,就能激活台式机和文件文件的配对,实未来IDE里编辑脚本,Notebook里也随着更新的效益。

  1. Out[2]:

要是想在编排文本文件的时候还开着Jupyter,能够在一个单元格里运营%autosave
0
,关掉Jupyter的活动保存作用。

  1. lat
    long depth mag
    stations

  2. 1 -20.42 181.62 562 4.8 41

  3. 2 -20.62 181.03 650 4.2 15

  4. 3 -26.00 184.10 42 5.4 43

  5. 4 -17.97 181.66 626 4.1 19

  6. 5 -20.42 181.96 649 4.0 11

  7. Out[2]:

澳门威尼斯赌场官网 13

  1. lat
    long depth mag
    stations

  2. 996 -25.93 179.54 470 4.4 22

  3. 997 -12.28 167.06 248 4.7 35

  4. 998 -20.13 184.20 244 4.5 34

  5. 999 -17.40 187.80 40 4.5 14

  6. 1000 -21.59 170.56 165 6.0 119

末段,附上Jupytext的传送门:

假如您想在各类情状下(Notebook和Console)Jupyter都壹律管理,用上边包车型地铁几行简单的吩咐创立文件~/.ipython/profile_default/ipython_config.py就能够实现:

1. c

get\_config()  
  1. #
    Run all nodes interactively

  2. c.InteractiveShell.ast_node_interactivity = “all”

3、轻易链接到文书档案

在Help 菜单下,你能够找到常见库的在线文书档案链接,包涵Numpy,Pandas,Scipy和Matplotlib等。 
别的,在库、方法或变量的日前打上?,就能够张开相关语法的协理文书档案。

  1. In [3]: ?str.replace()

澳门威尼斯赌场官网 14

Docstring:

S.replace(old,
new[, count]) -> str

     

Return
a copy of S with all occurrences of substring

old
replaced by new. If the optional argument count is

given,
only the first count occurrences are replaced.

Type:
method_descriptor

4、 在notebook里作图

在notebook里作图,有多少个采纳: 
– matplotlib (事实规范),可通过%matplotlib
inline 激活,详尽链接 

  • %matplotlib notebook 提供交互性操作,但或然会有点慢,因为响应是在劳务器端达成的。 
    – mpld3 提供matplotlib代码的代替性彰显(通过d三),即便不完整,但很好。 
    – bokeh 生成可相互图像的更加好选拔。 
    – plot.ly 可以改动十三分好的图,可惜是付费服务。

澳门威尼斯赌场官网 15 

5、 Jupyter
Magic命令

上文提到的%matplotlib
inline 是Jupyter
Magic命令之一。 
推荐介绍阅读Jupyter
magic命令的相关文书档案,它自然会对你很有救助。上面是自笔者最爱的多少个:

陆、
Jupyter Magic-%env:设置意况变量

毋庸重启jupyter服务器过程,也足以管理notebook的情形变量。有的库(举例theano)使用景况变量来支配其行为,%env是最便利的门路。

澳门威尼斯赌场官网,In
[55]: # Running %env without any arguments

#
lists all environment variables

     

#
The line below sets the environment

#
variable OMP_NUM_THREADS

%env
OMP_NUM_THREADS=4

澳门威尼斯赌场官网 16

env:
OMP_NUM_THREADS=4

7、Jupyter Magic – %run:
运行python代码

%run 能够运维.py格式的python代码——那是明摆着的。不那么为人领会的实际境况是它也得以运营别的的jupyter notebook文件,这点很有用。 
注意:使用%run 与导入五个python模块是分化的。

In
[56]: # this will execute and show the output from

#
all code cells of the specified notebook

%run
./two-histograms.ipynb

澳门威尼斯赌场官网 17

澳门威尼斯赌场官网 18 

八、Jupyter Magic
-%load:从表面脚本中插入代码

该操功用外部脚本替换当前cell。可以利用你的Computer中的一个文书作为来自,也得以选拔UPRADOL。

In
[ ]: # Before Running

%load
./hello_world.py

In
[61]: # After Running

#
%load ./hello_world.py

if
__name__ == “__main__”:

print(“Hello
World!”)

澳门威尼斯赌场官网 19

Hello
World!

9、Jupyter Magic – %store:
在notebook文件之间传递变量

%store 命令能够在三个notebook文件之间传递变量。

In
[62]: data = ‘this is the string I want to pass to different notebook’

%store
data

del
data # This has deleted the variable

澳门威尼斯赌场官网 20

Stored
‘data’ (str)

当今,在一个新的notebook文书档案里……

In
[1]: %store -r data

print(data)

澳门威尼斯赌场官网 21

this
is the string I want to pass to different notebook

十、Jupyter Magic – %who:
列出全数的全局变量

不加任何参数, %who 命令能够列出全部的全局变量。加上参数 str 将只列出字符串型的全局变量。

In
[1]: one = “for the money”

two
= “for the show”

three
= “to get ready now go cat go”

%who
str

澳门威尼斯赌场官网 22

one
three two

11、Jupyter Magic –
计时

有二种用于计时的jupyter magic命令: %%time 和 %timeit.当你有一些很耗费时间的代码,想要查清楚难点出在哪时,那五个指令相当给力。 
精心回味下自家的叙述哦。 
%%time 会告诉您cell内代码的单次运维时刻音讯。

In
[4]: %%time

import
time

for
_ in range(1000):

time.sleep(0.01)#
sleep for 0.01 seconds

澳门威尼斯赌场官网 23

CPU
times: user 21.5 ms, sys: 14.8 ms, total: 36.3 ms

Wall
time: 11.6 s

%%timeit 使用了Python的
timeit 模块,该模块运行某语句拾0,000次(默许值),然后提供最快的一回的平均值作为结果。

In
[3]: import numpy

%timeit
numpy.random.normal(size=100)

澳门威尼斯赌场官网 24

The
slowest run took 7.29 times longer than the fastest. This could mean
that an intermediate result is being cached.

100000
loops, best of 3: 5.5 µs per loop

1二、Jupyter Magic – %%writefile
and %pycat:导出cell内容/呈现外部脚本的内容

动用%%writefile magic能够保留cell的始末到表面文件。 而%pycat功能相反,把外部文件语法高亮呈现(以弹出窗形式)。

In
[7]: %%writefile pythoncode.py

     

import
numpy

def
append_if_not_exists(arr, x):

if
x not in arr:

arr.append(x)

     

def
some_useless_slow_function():

arr
= list()

for
i in range(10000):

x
= numpy.random.randint(0, 10000)

append_if_not_exists(arr,
x)

澳门威尼斯赌场官网 25

Writing
pythoncode.py

澳门威尼斯赌场官网 26

In
[8]: %pycat pythoncode.py

澳门威尼斯赌场官网 27

import
numpy

def
append_if_not_exists(arr, x):

if
x not in arr:

arr.append(x)

     

def
some_useless_slow_function():

arr
= list()

for
i in range(10000):

x
= numpy.random.randint(0, 10000)

append_if_not_exists(arr,
x)

一三、Jupyter Magic – %prun:
告诉你程序中各样函数消耗的时辰

使用%prun+函数证明会给您四个按顺序排列的报表,展现各类内部函数的耗费时间情形,每一回调用函数的耗费时间意况,以及累计耗费时间。

In
[47]: %prun some_useless_slow_function()

澳门威尼斯赌场官网 28

26324
function calls in 0.556 seconds

     

Ordered
by: internal time

     

ncalls
tottime percall cumtime percall filename:lineno(function)

10000
0.527 0.000 0.528 0.000
<ipython-input-46-b52343f1a2d5>:2(append_if_not_exists)

10000
0.022 0.000 0.022 0.000 {method ‘randint’ of ‘mtrand.RandomState’
objects}

1
0.006 0.006 0.556 0.556
<ipython-input-46-b52343f1a2d5>:6(some_useless_slow_function)

6320
0.001 0.000 0.001 0.000 {method ‘append’ of ‘list’ objects}

1
0.000 0.000 0.556 0.556 <string>:1(<module>)

1
0.000 0.000 0.556 0.556 {built-in method exec}

1
0.000 0.000 0.000 0.000 {method ‘disable’ of ‘_lsprof.Profiler’
objects}

1肆、Jupyter Magic –用%pdb调节和测试程序

Jupyter 有自身的调解分界面The Python
Debugger (pdb),使得进入函数内部检查错误成为大概。 
Pdb中可使用的授命见链接

In
[ ]: %pdb

     

def
pick_and_take():

picked
= numpy.random.randint(0, 1000)

raise
NotImplementedError()

     

pick_and_take()

Automatic
pdb calling has been turned ON


NotImplementedError
Traceback (most recent call last)

<ipython-input-24-0f6b26649b2e>
in <module>()

5
raise NotImplementedError()

6

—->
7 pick_and_take()

     

<ipython-input-24-0f6b26649b2e>
in pick_and_take()

3
def pick_and_take():

4
picked = numpy.random.randint(0, 1000)

—->
5 raise NotImplementedError()

6

7
pick_and_take()

     

NotImplementedError:

>
<ipython-input-24-0f6b26649b2e>(5)pick_and_take()

3
def pick_and_take():

4
picked = numpy.random.randint(0, 1000)

—->
5 raise NotImplementedError()

6

7
pick_and_take()

     

ipdb>

1五、末句函数不出口

偶然不让末句的函数输出结果相比较便利,例如在作图的时候,此时,只需在该函数末尾加上3个分企业就可以。

In
[4]: %matplotlib inline

from
matplotlib import pyplot as plt

import
numpy

x
= numpy.linspace(0, 1, 1000)**1.5

In
[5]: # Here you get the output of the function

plt.hist(x)

Out[5]:

(array([
216., 126., 106., 95., 87., 81., 77., 73., 71., 68.]),

array([

  1. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ]),

<a
list of 10 Patch objects>)

澳门威尼斯赌场官网 29

In
[6]: # By adding a semicolon at the end, the output is suppressed.

plt.hist(x);

澳门威尼斯赌场官网 30

16、运行Shell命令

在notebook内部运维shell命令很简单,那样你就足以观望您的工作文件夹里有怎么样数据集。

In
[7]: !ls *.csv

澳门威尼斯赌场官网 31

nba_2016.csv
titanic.csv

pixar_movies.csv
whitehouse_employees.csv

17、用LaTex 写公式

当您在3个马克down单元格里写LaTex时,它将用MathJax展现公式:如 
$$ P(A \mid B) = \frac{P(B \mid A) , P(A)}{P(B)} $$

会变成 

1八、在notebook内用不一致的内核运营代码

假设你想要,其实能够把不相同基础的代码结合到一个notebook里运转。 
只需在每种单元格的初阶,用Jupyter magics调用kernal的称谓:

  • %%bash
  • %%HTML
  • %%python2

  • %%python3

  • %%ruby

  • %%perl
  • In [6]: %%bash
  • for i in {1..5}
  • do

  • echo “i is $i”

  • done

澳门威尼斯赌场官网 32

i
is 1

i
is 2

i
is 3

i
is 4

i
is 5

1玖、给Jupyter安装别的的内核

Jupyter的可观性子之壹是能够运转分化语言的木本。上边以运转Tiguan内核为例表达:

简短的不2法门:通过Anaconda安装大切诺基内核

conda
install -c r r-essentials

多少麻烦的点子:手动安装索罗德内核

如果你不是用Anaconda,进程会有点复杂,首先,你要求从CRAN安装CRUISER。 
以后,运行揽胜极光调控台,运维上面包车型地铁言辞:

install.packages(c(‘repr’,
‘IRdisplay’, ‘crayon’, ‘pbdZMQ’, ‘devtools’))

devtools::install_github(‘IRkernel/IRkernel’)

IRkernel::installspec()
# to register the kernel in the current R installation

20、在同三个notebook里运营Koleos和Python

要那样做,最棒的章程事安装rpy2(必要一个足以干活的Sportage),用pip操作很粗大略: 
pip install rpy2 
然后,就能够而且采纳二种语言了,乃至变量也能够在贰者之间公用:

In
[1]: %load_ext rpy2.ipython

In
[2]: %R require(ggplot2)

Out[2]:
array([1], dtype=int32)

In
[3]: import pandas as pd

df
= pd.DataFrame({

‘Letter’:
[‘a’, ‘a’, ‘a’, ‘b’, ‘b’, ‘b’, ‘c’, ‘c’, ‘c’],

‘X’:
[4, 3, 5, 2, 1, 7, 7, 5, 9],

‘Y’:
[0, 4, 3, 6, 7, 10, 11, 9, 13],

‘Z’:
[1, 2, 3, 1, 2, 3, 1, 2, 3]

})

In
[4]: %%R -i df

ggplot(data
= df) + geom_point(aes(x = X, y= Y, color = Letter, size = Z))

澳门威尼斯赌场官网 33 

二壹、用其它语言写函数

有时numpy的速度有点慢,我想写一些更加快的代码。 
条件上,你能够在动态Curry编写翻译函数,用python来封装… 
唯独如若这些无聊的进程不用本身干,岂不更加好? 
您能够在cython或fortran里写函数,然后在python代码里直接调用。 
首先,你要先安装:

!pip
install cython fortran-magic

     

     

In
[ ]: %load_ext Cython

In
[ ]: %%cython

def
myltiply_by_2(float x):

return
2.0 * x

In
[ ]: myltiply_by_2(23.)

自己个人相比较喜欢用Fortran,它在写数值总计函数时那三个有益于。愈多的底细在这里。

In
[ ]: %load_ext fortranmagic

In
[ ]: %%fortran

subroutine
compute_fortran(x, y, z)

real,
intent(in) :: x(:), y(:)

real,
intent(out) :: z(size(x, 1))

     

z
= sin(x + y)

     

end
subroutine compute_fortran

In
[ ]: compute_fortran([1, 2, 3], [4, 5, 6])

还有局地别的跳转系统能够加速python 代码。越多的事例见链接:

2二、匡助多指针

Jupyter帮衬八个指针同步编辑,类似Sublime Text编辑器。按下Alt键并拖拽鼠标就可以完成。

澳门威尼斯赌场官网 34 

23、Jupyter外接拓展

Jupyter-contrib
extensions是一些予以Jupyter越多更能的延长程序,包罗jupyter spell-checker和code-formatter之类. 
上边的下令安装这么些延伸程序,同时也安装多个菜单方式的配置器,可以从Jupyter的主荧屏浏览和激活延伸程序。

!pip
install

!pip
install jupyter_nbextensions_configurator

!jupyter
contrib nbextension install –user

!jupyter
nbextensions_configurator enable –user

澳门威尼斯赌场官网 35

二肆、从Jupyter notebook创建示范稿

Damian Avila的奥迪Q5ISE允许你从已有的notebook创造3个powerpoint情势的演示稿。 
您能够用conda来设置PAJEROISE:

conda
install -c damianavila82 rise

或者用pip安装:

pip
install RISE

下一场运营上面包车型客车代码来安装和激活延伸程序:

jupyter-nbextension
install rise –py –sys-prefix

jupyter-nbextension
enable rise –py –sys-prefix

25、Jupyter输出系统

Notebook自个儿以HTML的方式显示,单元格输出也能够是HTML格局的,所以你能够出口任刘帅西:录像/音频/图像。 
以此事例是浏览作者具有的图纸,并出示前伍张图的缩略图。

In
[12]: import os

from
IPython.display import display, Image

names
= [f for f in os.listdir(‘..ml_demonstrations/’) if
f.endswith(‘.png’)]

for
name in names[:5]:

display(Image(‘..ml_demonstrations/’

  • name, width=100))

澳门威尼斯赌场官网 36 
澳门威尼斯赌场官网 37 
澳门威尼斯赌场官网 38 
澳门威尼斯赌场官网 39 
澳门威尼斯赌场官网 40 

咱俩也能够用bash命令创造2个一致的列表,因为magics和bash运维函数后赶回的是python 变量:

In
[10]: names = !ls ..ml_demonstrations/*.png

names[:5]

Out[10]:
[‘..ml_demonstrations/colah_embeddings.png’,

‘..ml_demonstrations/convnetjs.png’,

‘..ml_demonstrations/decision_tree.png’,

‘..ml_demonstrations/decision_tree_in_course.png’,

‘..ml_demonstrations/dream_mnist.png’]

二六、大数据解析

重重方案得以消除查询/管理大额的题目:

  •  

       

    ipyparallel(从前叫 ipython cluster) 是3个在python中实行简要的map-reduce运算的地道选用。大家在rep中央银行使它来并行演习大多机械学习模型。

  • pyspark

  • spark-sql
    magic %%sql

27、分享notebook

享受notebook最方便的诀纵然运用notebook文件(.ipynb),可是对那多少个不选用notebook的人,你还有那么些选择:

  • 因此File > Download as > HTML
     菜单转产生html文件。
  • 用gists或许github分享你的notebook文件。那三个都得以显示notebook,示例见链接
  • 若果你把温馨的notebook文件上传到github的酒店,能够使用很有利的Mybinder服务,允许另一位实行半个钟头的Jupyter交互连接受你的库房。

    •    

    用jupyterhub建立你自个儿的系统,那样你在组织微型课堂只怕工作坊,无暇顾及学生们的机械时就卓殊简便了。

    •    

    将你的notebook存储在像dropbox那样的网址上,然后把链接放在nbviewer,nbviewer能够表现大肆来源的notebook。

    •    

    用菜单File > Download as >
    PDF 保存notebook为PDF文件。要是您采纳本办法,笔者强烈提议你读一读Julius Schulz的文章

  • 用Pelican从你的notebook制造1篇博客。

    •  
   

 

—重临博客园,查看越多

责任编辑:

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图