真是绝了!史上最详细的Jupyter Notebook入门教程
推荐阅读时间:10min~12min 文章内容: Jupyter Notebook 入门教程
Jupyter Notebook 是一个在浏览器中使用的交互式的笔记本,可以实现将代码、文字完美结合起来,它的受众群体大多数是一些从事数据科学领域相关(机器学习、数据分析等)的人员。这里会告诉大家Jupyter Notebook入门时常用功能用法。
下载安装
条条大路通罗马,想要安装Jupyter Notebook也是一样。
一种方式是通过 pip 命令安装。
pip install jupyter
另一种方式是使用集成科学计算环境Anaconda。推荐使用这种方式,下载过程就不说了。根据自己的系统环境,选择对应的版本进行下载。安装基本上也就是一路next,也没有什么要说的。
启动Jupyter Notebook
使用 Anaconda 安装成功后,默认会将 Jupyter Notebook的启动程序添加到环境变量中。启动程序为jupyter-notebook。可以进入命令行,然后使用 jupyter-notebook --h
来查看使用说明。
(c:softpy3) C:Userswangwei01>jupyter notebook --h
usage: jupyter-notebook [-h] [--pylab [NOTEBOOKAPP.PYLAB]]
[--keyfile NOTEBOOKAPP.KEYFILE]
[--client-ca NOTEBOOKAPP.CLIENT_CA]
[--notebook-dir NOTEBOOKAPP.NOTEBOOK_DIR]
[--port-retries NOTEBOOKAPP.PORT_RETRIES]
[--config NOTEBOOKAPP.CONFIG_FILE]
[--certfile NOTEBOOKAPP.CERTFILE]
[--log-level NOTEBOOKAPP.LOG_LEVEL]
[--browser NOTEBOOKAPP.BROWSER]
[--transport KERNELMANAGER.TRANSPORT]
[--ip NOTEBOOKAPP.IP] [--port NOTEBOOKAPP.PORT] [-y]
[--script] [--no-mathjax] [--no-browser]
[--allow-root] [--debug] [--no-script]
[--generate-config]
optional arguments:
-h, --help show this help message and exit
--pylab [NOTEBOOKAPP.PYLAB]
--keyfile NOTEBOOKAPP.KEYFILE
--client-ca NOTEBOOKAPP.CLIENT_CA
--notebook-dir NOTEBOOKAPP.NOTEBOOK_DIR
--port-retries NOTEBOOKAPP.PORT_RETRIES
--config NOTEBOOKAPP.CONFIG_FILE
--certfile NOTEBOOKAPP.CERTFILE
--log-level NOTEBOOKAPP.LOG_LEVEL
--browser NOTEBOOKAPP.BROWSER
--transport KERNELMANAGER.TRANSPORT
--ip NOTEBOOKAPP.IP
--port NOTEBOOKAPP.PORT
-y, --y
--script
--no-mathjax
--no-browser
--allow-root
--debug
--no-script
--generate-config
启动前需要先说明一个概念,jupyter notebook中有个叫做工作空间(工作目录)的概念,也就是说如果你想在哪个目录进行之后的工作,那就在哪个目录启动它。例如,这里我想将家目录的的jp_workspace目录作为工作空间,那我就需要进入到这个目录下。
我们这里会在本地使用jupyter notebook,所以启动命令很简单,直接输入 jupyter-notebook
:
启动成功后,会在浏览器中打开一个窗口。
新建Notebook
打开的界面主要包含了以上的几个菜单,我们点击“New”-》“Python3”来创建一个Python3的.ipynb文件。
可以看到,每一个Notebook主要包含三个区域:
- 文件名
- 菜单栏(工具栏)
- 内容编辑
修改文件名
点击文件名,可以重命名当前Notebook的文件名,这里修改为“demo”。
熟悉菜单栏
这里介绍下常用的几个菜单栏的作用。
File
File 菜单中主要包含了以下功能:创建新的Notebook、打开新的界面、拷贝当前Notebook、重命名Notebook、保存还原点、恢复到指定还原点、查看Notebook预览、下载Notebook、关闭Notebook。
这里重点强调下下载Notebook选项,它可以将当前Notebook转为py文件、html文件、markdown文件、rest文件、latex文件、pdf文件。
Insert
Insert 菜单中包含了在当前位置之下插入一个新的cell(单元格)、在当前位置之上插入一个新的cell(单元格)。
Cell
Cell 菜单主要包含了运行cells、运行cells后并在之后插入新的cell、运行所有cells、运行当前之上的所有cell、运行当前之下的所有cell、改变cell类型(code、markdown、raw nbconvert)等。
Kernel
Kernel 菜单主要包含了中断kernel、重启kernel、重启kernel并清除输出、重启kernel并运行所有cell、重连kernel、关闭kernel、改变kernel类型。
Help
Help 菜单主要包含了用户交互引导、键盘快捷键、修改键盘快捷键、Notebook帮助、Markdown帮助、Jupyter-notebook-extensions帮助、Python帮助、IPython帮助、Numpy帮助、Scipy帮助、Matplotlib帮助、Sympy帮助、pandas帮助等。
如果能记住一些常用的快捷键,对使用Jupyter Notebook帮助还是很大的。
熟悉工具栏
工具栏上的内容都在下图中:
依次来介绍下,保存还原点、在当前位置之下添加cell、剪切当前cell、拷贝选择的cell、复制选择的cell、上移选中的cell、下移选中的cell、运行cell、中断kernel、重启kernel、修改cell类型、打开命令行调色板、美化cell代码。
很明显,工具栏中的功能大多都是菜单栏中的一部分功能的体现,主要是为了方便寻找。
运行Python代码
想要运行Python代码,其实很简单,因为Python代码最后都在 Cell 中编写的。首先在cell中编写好Python代码,然后点击运行,可以直接在下面看到结果。
仔细一点,我们可以发现,第一个cell前面有 “In [1]:”提示符,第二个cell前面有“In[2]:”提示符,同时也有“Out[2]:”输出符,这是因为如果没有print语句的话,Notebook会将当前cell的最后一条语句的结果以“Out[?]:”的方式输出。
编写Markdown
Notebook最友好的一个功能就是可以在cell中通过Markdown来编写文本。我们首先创建一个cell,然后更改类型为markdown,更改成功后,cell开头没有“In[?]:”的提示符。然后点击cell,按照markdown语法来输入文本。
除了对markdown语法的支持外,同时也支持html代码,此外,也支持latex公式语法。
使用latex公式时,如果需要在当前行内插入公式,公式前后分别需要一个$,如果需要在下一行单独插入公式,公式前后分别需要两个$。
在markdown类型的cell中输入以下内容:
## 这是一个二级标题
这是一个markdown类型的cell
- 下面演示了对html代码的支持:
<a href="www.naodongopen">这是使用html的a标签实现的超链接</a>
- 下面演示的对latex公式的支持:
当前行内插入公式:$ int_0^{+infty} x^2 dx $
下一行插入公式:$$ int_0^{+infty} x^2 dx $$
运行该cell,得到以下结果:
以上便是Jupyter Notebook 入门的一些常用功能,希望对大家有用~
作者:无邪,个人博客:脑洞大开,专注于机器学习研究。
- SQL Server 学习笔记
- Collaborative Filtering(协同过滤)算法详解
- 【Hadoop】三句话告诉你 mapreduce 中MAP进程的数量怎么控制?
- Spark系列课程-00xxSpark RDD持久化
- RDD持久化
- P02_Hadoop CDH 5.3.6集群搭建
- P01_Spark开发测试运行环境安装Spark开发测试运行环境安装
- spark2.x依赖包POM
- P03_Hive 安装
- P06_flume-ng-1.5.0-cdh5.3.6安装
- P04_zookeeper-cdh5集群搭建
- P05_kafka_2.9.2-0.8.1集群搭建
- 再探matplotlib
- 分布式系统(Distributed System)资料
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android Activity生命周期和堆栈管理的详解
- Android学习之SharedPerference存储详解
- Android编程实现对话框Dialog背景透明功能示例
- Android开发中DatePicker日期与时间控件实例代码
- Android Shader应用开发之霓虹闪烁文字效果
- Android中ToggleButton开关状态按钮控件使用方法详解
- 零基础学小程序005---小程序登陆注册功能实现
- Android RecyclerView 复用错乱通用解法详解
- Android把Bitmap保存为PNG图像文件的简单代码
- 零基础学小程序006---小程序获取用户信息用户昵称
- Android webview 内存泄露的解决方法
- Android编程实现全局获取Context及使用Intent传递对象的方法详解
- Android App更改应用的图标的实现方法
- 零基础学小程序007---小程序获取用户openid
- Android编程中光线传感器的调用方法详解