zoukankan      html  css  js  c++  java
  • Python神器 Jupyter Notebook

    什么是Jupyter Notebook?

    简介

    Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。

    Jupyter Notebook官方

    简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。

    组成部分

    1,网页应用

    网页应用即基于网页形式的、结合了编写说明文档、数学公式、交互计算和其他富媒体形式的工具。简言之,网页应用是可以实现各种功能的工具。

    2,文档

    即Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的。

    Jupyter Notebook的主要特点

    1. 编程时具有语法高亮、缩进、tab补全的功能。

    2. 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。

    3. 对代码编写说明文档或语句时,支持Markdown语法。

    如何安装Jupyter Notebook?

    Jupyter Notebook原来也叫iPython Notebook,顾名思义,它和Python关系紧密。如果要在PC上安装笔记本,首先你要确保自己已经安装了Python(2.7/3.3或更高),这是必备条件。

    1,Anaconda

    官方在文档中强烈建议新用户用Anaconda打包安装Python和Anaconda——所谓懒人方法,小白必备。其实除了提到的两个工具,Anaconda还包含数据科学和机器学习中经常需要用到的各种软件包,只需下载、解压、安装,所有工具就都一步到位了。

    下载地址:https://jupyter.readthedocs.io/en/latest/install.html

    安装好后检查有没有加下面的环境变量:

    2,pip

    如果你很欣赏自己,或者因为某些因素就是不想用Anaconda,你也可以用pip。当然首先,你得确保自己的机器上有pip的最新版本。

    # Linux和OSX
    
    pip install -U pip setuptools
    
    # Windows
    
    python -m pip install -U pip setuptools
    
    然后,安装Jupyter Notebook:
    #Python2用户看这里
    
    pip install jupyter
    
    #Python3用户不要跑
    
    pip3 install jupyter

    运行Jupyter Notebook

    帮助

    如果你有任何jupyter notebook命令的疑问,可以考虑查看官方帮助文档,命令如下:

    jupyter notebook --help
    #
    jupyter notebook -h

    启动

    默认端口启动

    在终端中输入以下命令:

    jupyter notebook

    执行命令之后,在终端中将会显示一系列notebook的服务器信息,同时浏览器将会自动启动Jupyter Notebook。

    启动过程中终端显示内容如下:

    $ jupyter notebook
    [I 21:58:24.417 NotebookApp] Serving notebooks from local directory: /Users/catherine
    [I 21:58:24.417 NotebookApp] 0 active kernels
    [I 21:58:24.417 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
    [I 21:58:24.417 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

    注意:之后在Jupyter Notebook的所有操作,都请保持终端不要关闭,因为一旦关闭终端,就会断开与本地服务器的链接,你将无法在Jupyter Notebook中进行其他操作啦。

    浏览器地址栏中默认地将会显示:http://localhost:8888。其中,“localhost”指的是本机,“8888”则是端口号。

    如果你同时启动了多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”……

    指定端口启动

    如果你想自定义端口号来启动Jupyter Notebook,可以在终端中输入以下命令:

    jupyter notebook --port <port_number>

    其中,“<port_number>”是自定义端口号,直接以数字的形式写在命令当中,数字两边不加尖括号“<>”。如:jupyter notebook --port 9999,即在端口号为“9999”的服务器启动Jupyter Notebook。

    启动服务器但不打开浏览器

    如果你只是想启动Jupyter Notebook的服务器但不打算立刻进入到主页面,那么就无需立刻启动浏览器。在终端中输入:

    jupyter notebook --no-browser

    此时,将会在终端显示启动的服务器信息,并在服务器启动之后,显示出打开浏览器页面的链接。当你需要启动浏览器页面时,只需要复制链接,并粘贴在浏览器的地址栏中,轻按回车变转到了你的Jupyter Notebook页面。

    例图中由于在完成上面内容时我同时启动了多个Jupyter Notebook,因此显示我的“8888”端口号被占用,最终分配给我的是“8889”。

    用法

    如果你想新建一个笔记本,单击面板右侧的“New”,它会跳出4个选项

    Python 3

    Text File

    Folder

    Terminal

    选择Text File后,你会得到一个空白的页面。它相当于一个文本编辑器(类似于Ubuntu上的应用程序),你可以在上面输入任何字母、单词和数字,所以选择好编程语言后,你是可以在上面写脚本的。此外,它还提供查找和替换文件中的单词的功能。

    选择Folder后,你其实是在编辑文件夹列表。你可以创建一个新文件夹,把所需文档放进里面,或者修改它的名称、直接把它删除。

    而Terminal的工作方式和Mac、Linux计算机上的Terminal一样,都是在Web浏览器中创建终端支持。只需在终端输入Python,一个Python脚本就写好了。

    导入最常见的Python库来启动笔记本,如pandas和numpy。在代码上方的菜单中,那些图标依次表示添加、编辑、剪切、向上移动cell、向下移动cell、运行代码、停止运行和撤销。

    这个下拉的列表提供了四个选项:

    Code:这个不言自明,就是你写代码的地方;

    Markdown:非常常见的轻量级标记语言,用来为代码添加注释和结论;

    Raw NBConvert:一个命令行工具,可以把你的笔记本转换成另一种格式,如HTML;

    Heading:添加标题,使你的文档看起来更干净整洁,它现在已经变成Markdown里的一个语法,用两个#表示。

    快捷键

    • 向上插入一个cell:a
    • 向下插入一个cell:b
    • 删除cell:x
    • 将code切换成markdown:m
    • 将markdown切换成code:y
    • 运行cell:shift+enter
    • 查看帮助文档:shift+tab
    • 自动提示:tab

    魔法指令

    作为iPython的继承者,开发人员已经在Jupyter Notebook中加入预定义的魔术命令(magic function)。这是一种增加便捷性和互动性的工具,如果要查看命令列表,你可以输入(注:通常不需要“%”):

      %lsmagic

    当看到那一串函数列表时,也许你能从中认出几张老面孔,如%clear、%autosave、%debug和%mkdir。只要你以前写过代码,这些函数就几乎是不可避免的。

    在Jupyter Notebook中,魔术命令有两种运行方式,一是Line-wise,而是Cell-wise。顾名思义,Line-wise就是当你想执行一个命令行的时候需要用到的,而Cell-wise面向的就不单单是一行了,它作用的是整个cell的代码块。

    为了区分两种运行方式,如果是Line-wise,所有命令必须以%字符打头;如果是Cell-wise,则用%%。

    Line-wise:

      %time a = range(10)

    Cell-wise:

      %%timeit a = range (10)

      min(a)

    运行外部python源文件:%run xxx.py

    计算statement的运行时间:%time statement

    计算statement的平均运行时间:%timeit statement

    测试多行代码的平均运行时间:

      %%timeit

      statement1

      statement2

      statement3

  • 相关阅读:
    解释机器学习模型的一些方法(一)——数据可视化
    机器学习模型解释工具-Lime
    Hive SQL 语法学习与实践
    LeetCode 198. 打家劫舍(House Robber)LeetCode 213. 打家劫舍 II(House Robber II)
    LeetCode 148. 排序链表(Sort List)
    LeetCode 18. 四数之和(4Sum)
    LeetCode 12. 整数转罗马数字(Integer to Roman)
    LeetCode 31. 下一个排列(Next Permutation)
    LeetCode 168. Excel表列名称(Excel Sheet Column Title)
    论FPGA建模,与面向对象编程的相似性
  • 原文地址:https://www.cnblogs.com/peng104/p/10386333.html
Copyright © 2011-2022 走看看