md_files/自学/Jupyter notebook快速上手.md

238 lines
9.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Jupyter notebook快速上手
> 张子豪 同济大学研究生
的Bilibili视频教程[同济子豪兄](https://space.bilibili.com/1900783/#/)<br>
知乎专栏:[人工智能小技巧](https://zhuanlan.zhihu.com/c_1032626015746502656)<br>
简书专栏:[人工智能小技巧](https://www.jianshu.com/u/38cccf09b515)<br>
子豪兄的粉丝答疑交流QQ群953712961
[TOC]
# 为什么学Jupyter notebook
![jupyter notebook](https://pic.bitday.top/i/2025/03/19/u78rry-2.png)
能够编写、运行python文件的程序很多比如python安装自带的IDLE、程序员喜爱的pycharm、数据科学全家桶Anaconda还有Spyder、Thonny等。
而我独爱jupyter notebook。
Jupyter notebook是用python进行数据科学、机器学习的必备工具。
突出优点:
- 学习Jupyter notebook非常容易按照我的视频教程一步步做再自己尝试一下之后写代码即可健步如飞。
- 能够独立运行一个、几个或全部python代码块更容易看到中间变量的值从而进行调试
- 可以插入Markdown说明文字和Latex数学公式让枯燥的代码充满颜值可读性爆表
- 能够调用Ipython丰富的“魔法函数”比如程序计时、重复运行、显示图片等
- 写好的代码和文档能够以网页和ppt的形式在线分享。[在线看Jupyter notebook文件](<https://nbviewer.jupyter.org/>)<br>
- 可以在云端远程服务器运行,不需本地安装配置各种环境。[体验一下](<https://jupyter.org/try>)<br>
比如下图包含了Markdown说明文档、代码块、代码运行结果、图片嵌入等元素特别适合Python数据科学和机器学习撰写文档。
![jupyter notebook代码分块运行、嵌入Markdown文档和图片](https://pic.bitday.top/i/2025/03/19/u7977l-2.png)
吴恩达的《深度学习》慕课的课后编程作业、大数据竞赛网站Kaggle上的代码文档、美国大学的数据科学课程的课后资料及编程作业都是以jupyter notebook文件的形式给出的也就是`.ipynb`文件。
> 其实Jupyter notebook不止可以运行python还可以运行julia、R、Javascript等语言这也是`jupyter`这个名字的由来。[Jupyter notebook支持的编程语言](<https://github.com/jupyter/jupyter/wiki/Jupyter-kernels>)<br>
>
> Jupyter notebook集编程和写作于一身这就叫做“文学编程”。
# Jupyter notebook——在浏览器网页中运行python
## Ipython内核——更高级的python解释器
Jupyter notebook是基于Ipython内核的在浏览器中以网页形式运行Python代码的工具十分方便。
> Ipython是啥
>
> Ipython可以理解成更高级的python解释器相比原生的python交互式命令行Ipython有更强大的命令计数、自动补全等交互功能。
>
> Spyder和Jupyter notebook都是以Ipython为内核的。
![ipython](https://pic.bitday.top/i/2025/03/19/u76zwi-2.png)
## 安装Jupyter notebook
如果你安装了python数据科学全家桶Anaconda那么其中自带了Jupyter notebook。
如果你没安装Anaconda可以直接在命令行里运行这行命令
```shell
pip install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple
```
## 运行Jupyter notebook
打开命令行,输入`jupter notebook`,回车。稍等片刻即可跳出浏览器网页。
![jupyter notebook打开界面](https://pic.bitday.top/i/2025/03/19/u76q0r-2.png)
点击右边的New-Python3即可创建python文档。
点击New-Folder可以创建新文件夹。
点击New-Text File可以创建空的`.txt`文件。
点击New-Terminal可以打开操作系统命令行你可以使用操作系统对应的命令行进行目录切换、解压文件等操作。
勾选文件夹点击rename即可重命名
![勾选文件夹点击rename重命名](https://pic.bitday.top/i/2025/03/19/u78ido-2.png)
最常用的是点击右边的New-Python3创建python文档。
# 用Jupyter notebook写python代码
## 写下并运行第一行python代码
点击左上角`Untitled`给新建的python文档文件重新命名。
![重命名](https://pic.bitday.top/i/2025/03/19/u78ok4-2.png)
在代码框中输入第一行python代码shift+回车运行
![输入第一行python代码](https://pic.bitday.top/i/2025/03/19/u77p8q-2.png)
![运行第一行python代码](https://pic.bitday.top/i/2025/03/19/u7887c-2.png)
## 蓝绿两模式:命令模式、编辑模式
Jupyter notebook中代码和文档都存在于一个个单元格中每个单元格都有蓝色和绿色两种状态。
- 命令模式(蓝色):用于执行键盘输入的快捷命令(新增单元格、剪切、复制等等)。通过 `Esc` 键从绿色的编辑模式切换到蓝色的命令模式,此时单元左侧显示蓝色竖线。
- 编辑模式(绿色):编辑文本和代码。选中单元并按 `Enter` 键进入编辑模式,此时单元左侧显示绿色竖线。
> 命令模式和编辑模式其实是源自于著名的vim编辑器vim编辑器以特别难学和学成之后可以超神而闻名于世。
## 两种单元格代码单元格和Markdown单元格
Jupyter notebook中有两种单元格代码单元格和Markdown单元格。
- 代码单元格:这里是你编写代码的地方,通过按 `Shift + Enter` 运行代码,其结果显示在本单元下方。代码单元左边有 `In [1]:` 这样的序列标记,方便人们查看代码的执行次序。在蓝色命令模式下,按`y`键可以将Markdown单元格转换为代码单元格。
- Markdown 单元格:在这里对文本进行编辑,采用 markdown 的语法规范,可以设置文本格式、插入链接、图片甚至数学公式。同样使用 `Shift + Enter` 运行 markdown 单元来显示渲染后的文本。在蓝色命令模式下按`m`键可以将代码单元格转换为Markdown单元格。
> Markdown是程序员通用的撰写文档的语法可以轻松实现标题、引用、链接、图片等非常简洁易学Github代码托管网站、有道云笔记、简书、知乎、CSDN论坛、电子邮件等都支持Markdown语法。
>
> 学习Markdown推荐我制作的博客和视频教程
>
> [二十分钟精通排版神器Markdown从此word和秀米是路人](<https://www.jianshu.com/p/4475b9d8810f>)<br>
>
> [Bilibili视频二十分钟精通排版神器Markdown](<https://www.bilibili.com/video/av35579542>)<br>
编辑Markdown单元格输入以下内容
```markdown
# 我是Markdown一号标题
## 我是Markdown二号标题
### 我是Markdown三号标题
>我是引用,我这行开头有一个灰色竖杠
[我是外部链接,点我上百度](www.baidu.com)
![我是图片](https://pic.bitday.top/i/2025/03/19/u78z3p-2.webp)
```
![编辑Markdown单元格](https://pic.bitday.top/i/2025/03/19/u776mh-2.png)
然后按`shift`+`Enter`运行该单元格。
![Markdown渲染效果](https://pic.bitday.top/i/2025/03/19/u77xx9-2.png)
# 抛弃鼠标,只用键盘
下面介绍Jupyter notebook快捷键掌握这些快捷键之后你将彻底解放你拿鼠标的那只手更专注、高效地敲代码了。
## 最常用快捷键(必会)
h 查看所有快捷键
Enter 从命令模式进入编辑模式
Esc 从编辑模式退回到命令模式
m 将代码单元格转换为Markdown单元格
y 将Markdown单元格转换为代码单元格
shift+Enter 运行本单元格,选择下面的代码块
ctrl+Enter 运行本单元格
alt+Enter 运行本单元格,在下方新建一个单元格
a 在上方新建一个单元格above
b 在下方新建一个单元格below
d 删除选中的单元格delete
x 剪切本单元格
c 复制本单元格
shift v 粘贴到上面
v 粘贴到下面
l 显示代码行号
## 所有快捷键
h 查看所有快捷键
![命令模式快捷键](https://pic.bitday.top/i/2025/03/19/u76kzy-2.png)
![编辑模式快捷键](https://pic.bitday.top/i/2025/03/19/u76bin-2.png)
## 在Markdown单元格中输入数学公式
分别在两个Markdown单元格内输入以下内容
```latex
这是爱因斯坦的质能转换方程$E=mc^2$,揭示了质量和能量之间的关系
```
```latex
这是一元二次方程求解公式
$x = \frac{-b\pm \sqrt{b^2-4ac}}{2a}$
初中数学内容
```
![在Markdown单元格中输入Latex公式](https://pic.bitday.top/i/2025/03/19/u79kp5-2.png)
`shift`+`Enter`渲染运行:
![渲染之后的Latex数学公式](https://pic.bitday.top/i/2025/03/19/u77e5c-2.png)
# 数据分析与可视化实战案例:学习时间与成绩的关系(线性回归)
先用excel把玩数据
![excel中的线性回归](https://pic.bitday.top/i/2025/03/19/u77ljl-2.png)
观察数据、导入数据、划分特征和标签、划分训练集和测试集、构建模型,模型可视化
# 用Jupyter notebook制作ppt并在线分享
# 参考博客
[左手代码右手写作你必须会的Jupyter Notebook](<https://www.jianshu.com/p/86117613b7a6>)<br>
[二十分钟精通排版神器Markdown从此word和秀米是路人](<https://www.jianshu.com/p/4475b9d8810f>)<br>
[Bilibili视频二十分钟精通排版神器Markdown](<https://www.bilibili.com/video/av35579542>)<br>