Jupyter Notebook使用教程

1.1 Jupyter Notebook 概述

    Anaconda 安装完成后,在开始菜单中选择 Jupyter Notebook 即可启动,如下图(1.png)所示。
1.png
    Jupyter notebook特别适合做数据处理、可视化、机器学习和大数据分析。利用该软件可将说明文本、数学方程、  
代码和可视化内容全部组合到一个易于共享的文档中。                                      

    Jupyter Notebook采用B/S工作模式,其基础架构如下图(2.png)所示。
2.png
    Jupyter Notebook的核心是 Notebook Server,用户通过浏览器连接到该服务器。Notebook 呈现为 Web应用,  
 用户在 Web 应用中编写的代码通过该服务器发送给内核,内核运行代码,并将结果发送回服务器。

    任何输出都会返回到浏览器中呈现。保存Notebook 时,它将作为JSON文件(扩展名为.ipynb)写入到服务器  
中。启动过程中会出现如下图(3.png)所示的命令行界面,这是Jupyter Notebook的服务器,在Jupyter   Notebook
的工作过程中是不能关闭的。

    Notebook 服务器默认URL:http://localhost:8888  
    只要Notebook 服务器仍在运行,随时可通过默认URL 返回到 web 页面。
3.png
    Jupyter Notebook启动后会在浏览器中打开一个窗口。在菜单栏中有Files、Running、Clusters、Conda四个  
选项,如下图(4.png)所示。
4.png

1.2 新建Notebook

    Jupyter Notebook启动后可以通过点击“New”菜单创建新的Notebook、文本文件、文件夹或终端等。如创建  
新的Python3的ipynb文件:
    点击“New”→“Python3”
    Notebook的编辑界面如下图(5.png)所示。
5.png

1.3 单元格

    Notebook 中大部分代码编写和执行工作都是在单元格(Cell)中完成,就像在 IDE 软件里输入代码一样,可以  
给变量赋值、定义函数和类、导入包等。执行单元格代码可以通过 Shift + Enter 或 Ctrl+Enter来完成。其主要功能和  
方法包括两种模式和四种功能。在命令模式下可用快捷键“h”弹出快捷键窗口。

1.3.1 两种模式

1. 编辑模式

    编辑模式下用户可将代码或文本输入到单元格,如下图(6.png)所示,其标志是右上角有一只铅笔的图标,单元  
格呈绿色。编辑模式下按Esc键或通过运行单元格代码切换至命令模式,编辑模式下的快捷键如下图(7.png)所示。
6.png
    在单元格中输入下列代码,按Ctrl+Enter运行并观察出现什么情况。    
   
        import numpy as np

        import matplotlib.pyplot as plt

        points = np.arange(-5,5,0.01)

        x, y = np.meshgrid(points,points)

        z = np.sqrt(x**2+y**2)

        plt.imshow(z, cmap = plt.cm.gray)

        plt.show()
7.png

2. 命令模式

    命令模式下用户可进行如下图(8.png)所示,右上角铅笔图标消失,单元格左侧呈蓝色。命令模式下按Enter键  
或鼠标双击Cell切换至编辑模式。命令模式下的快捷键如下图(9.png)所示。
8.png

9.png

1.3.2 编辑功能

    Cell有四种编辑功能:代码(Code)、标记(Markdown)、Raw NBConvert和标题(Heading),如下图(10.png)所示。  
Code用于写代码,Markdown用于文本编辑,Raw NBConvert中的文字或代码等都不会被运行,Heading是用于设  
置标题的,这个功能已经包含在Markdown中了。在此主要介绍代码Code和Markdown功能。
10.png

1. Code(代码)编辑功能

    在命令模式下,按快捷键Y可进入代码编辑状态,单元格可能出现三类提示符,其对应含义如下表所示:
提示符 含义
In[ ] 程序未运行
In[1] 程序运行后
In[*] 程序正在运行

2. Markdown(标记)编辑功能

    在命令模式下,按快捷键M可进入标记编辑状态,Markdown 是格式化语法,可以加入链接、将文本样式设为粗体  
或斜体和设置代码格式。Markdown的详细用法见网址:https://daringfireball.net/projects/markdown/basics。

    利用Markdown可直接在代码旁写出叙述性文档。对于Markdown 单元格,同样可通过组合键Shift + Enter或Ctrl +
Enter运行单元格,常用的Markdown用法如下图(11.png)所示。
11.png

1.4 魔法函数

    使用魔法函数可以用较简单的方法实现较为复杂的功能。
    % :行魔法函数,只对本行代码生效。 
    %% :Cell魔法函数,在整个Cell中生效,必须放于Cell首行。 
    %lsmagic :列出所有的魔法函数。 
    %magic 魔法函数名称:查看该魔法函数的说明。
    ? 魔法函数名称:查看该魔法函数的说明。
    常用的魔法函数及功能如下表所示。
魔法函数 作用
%run 调用外部python脚本
%timeit 测试单行语句的执行时间
%%timeit 测试整个单元中代码的执行时间
% matplotlib inline 显示 matplotlib 包生成的图形
%%writefile 写入文件
%pdb 调试程序
%pwd 查看当前工作目录
%ls 查看目录文件列表
%reset 清除全部变量
%debug bug调试,输入quit退出调试
%env 列出全部环境变量

1.5 导出pdf文件

    Anaconda安装完成后,可将代码、运行结果以及Markdown导出为pdf文件,但默认情况下该操作会提示“未  
安装xelatex”,如下图(12.png)所示。
12.png
    两个步骤可以解决这个问题:(1)安装Miktex;(2)修改模板文件。

1.5.1 安装Miktex

    打开截图提示的网址:https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex
    下载Miktex并按照提示安装,安装完成后重启NoteBook Server。
    有些情况需要安装nbconvert pandoc,如需安装,命令如下:
        conda install nbconvert pandoc        

1.5.2 修改lex模板文件

    上述步骤完成后能够生成pdf文件,但无法正常显示中文,通过修改两个lex模版文件来解决:

1. 修改article.tplx(一共有两个)

    (1)首先找到article.tplx文件,在Anaconda中的示例路径如下:
    C:\ProgramData\Anaconda3\Lib\site-packages\nbconvert\templates\latex
    C:\ProgramData\Anaconda3\pkgs\nbconvert-5.4.0-py37_1\Lib\site-packages\nbconvert\templates\latex

    (2)用文本编辑器打开article.tplx:
    将 “\documentclass[11pt]{article}” 
    修改为
     “\documentclass[11pt]{ctexart}”。
    通过上述修改之后,正文中的中文可以正常显示,但是标题上的中文不能正常显示。

2. 修改base.tplx(一共有两个)

    (1)注销 fontenc:
    将 \usepackage[T1]{fontenc}
    修改为:
    %\usepackage[T1]{fontenc},即前面加“%”。
    (2)修改tittle 生成规则:
    将\title{((( nb_title | ascii_only | escape_latex )))}
    修改为:
    \title{((( nb_title | escape_latex )))},即去掉“ascii_only |”
    重新启动NoteBook Server后即可完美导出pdf文件。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容

  • 简介 Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行...
    一次旅行阅读 60,226评论 2 40
  • Jupyter Notebook入门 人生就像一只储蓄罐,你投入的每一分努力,都会在未来的某一天,回馈于你。而我们...
    BeautifulSoulpy阅读 32,907评论 0 10
  • Jupyter notebook 是什么? 欢迎学习本课程——如何使用 Jupyter notebook。Jupy...
    Jackpot_0213阅读 2,075评论 0 6
  • 晚上归来,打开屋门,一阵清香扑面而来。寻香望去,沉静不动几天的百合,趁着主人不在家的工夫,姿意的挥撒着满屋香...
    满杯鲜橙阅读 353评论 0 6
  • 2017年4月20号,我失眠了,准确说现在是2017年4月21号。所以既然这样,我就写什么吧。 首先谈一下这学期来...
    小洁儿_阅读 220评论 0 1