如何配置 Jupyter Notebook?

如何配置 Jupyter Notebook?_第1张图片

Pandas 百问百答第 005 篇。

  1. 如何在启动时指定目录?
  2. 如何安装扩展插件?
  3. 如何修改颜色主题?
  4. 如何让一个单元格显示多个输出?
  5. 如何不使用科学计数法显示数字?
  6. 如何添加与删除虚拟环境?
  7. 如何让 matplotlib 与 Seaborn 显示中文?
  8. 常用快捷键有哪些,如何修改或添加快捷键?
  9. 文末彩蛋,必看!!!

1. 如何在启动时指定目录?

指定启动目录可以减少很多切换目录的麻烦操作,呆鸟以前写过一篇《1 分钟修改 Jupyter 启动文件夹》,已经介绍过,不在此赘述了。

另外,还有文章介绍通过修改快捷方式指定启动目录,恕呆鸟愚钝,每次改完快捷方式都失效了,不知道哪里出的问题,感兴趣的朋友自己查下,试试看。

2. 如何安装扩展插件?

Notebook 有个很强大的扩展插件,好东西必须要安装。

安装插件的方式与上一篇介绍的一样,如果不知道怎么安装,请看《如何用 Anaconda 安装、升级、删除支持库?》一文里第 3 个问题的答案,怎么安装 Anaconda 里没有的 Python 支持库?

jupyter_contrib_nbextensions

# 用 pip 安装,二选一
pip install jupyter_contrib_nbextensions

# 或用 conda 安装,二选一
conda install -c conda-forge jupyter_contrib_nbextensions

# 设置用户
jupyter contrib nbextension install --user

jupyter_nbextensions_configurator

# 用 pip 安装,二选一
pip install jupyter_nbextensions_configurator

# 或用 conda 安装 ,二选一
conda install -c conda-forge jupyter_nbextensions_configurator 

# 设置用户
jupyter contrib nbextension install --user

# 启用用户
jupyter nbextensions_configurator enable --user

运行 Jupyter 以后,在地址栏里输入 http://localhost:8888/nbextensions,直接进入插件界面:

注意:有时候安装完会发现插件点不了,如下图,这时要去掉红框里的√。

如何配置 Jupyter Notebook?_第2张图片

去掉√,以后就可以了。

如何配置 Jupyter Notebook?_第3张图片

推荐几个呆鸟常用的小功能:

  • Hinterland,代码自动补全
  • autopep8 ,对单元格里的代码自动排版
    要用 pip install autopep8 安装对应插件,不安装会提示出错;
    点击红框里的小锤子图标,应用 autopep8:
如何配置 Jupyter Notebook?_第4张图片
  • Execute Time,查看每个单元格的执行时间;
  • Table of Contents(2),自动目录,需要和 Markdown 配合,不懂 Markdown 的需要学习一下。
    • 点击图标 1,开关目录显示;
    • 点击图标 2,刷新目录;
    • 点击图标 3,设置目录,比如,是否标题前是否加数字序号。
如何配置 Jupyter Notebook?_第5张图片
  • Variable Inspector,显示变量数据。点击红框里的图标,打开变量查阅器窗口。
如何配置 Jupyter Notebook?_第6张图片

还有很多插件都很实用,自己慢慢研究吧。

循环进度条

  • 插件网址:https://tqdm.github.io/
  • 插件用途:数据分析有时要操作循环,但 Jupyter Notebook 没有显示监控的功能,tqdm 这个插件就是用来监控循环进度的,很实用。
  • 代码示例
from tqdm import tnrange, tqdm_notebook

%%time # 这个是计算操作时间的魔法命令
# 第一种方式
import numpy as np
from tqdm import tnrange, tqdm_notebook

a = []
for _ in tnrange(100,desc="第一个循环"):
    a.append(np.random.randn(1,1000))

# 第二种方式
import numpy as np
from tqdm import tnrange, tqdm_notebook
a = []
b = []
for _ in tqdm_notebook(range(1000),desc="第二个循环"):
    a.append(np.random.randn())
    b.append(np.random.randn())
如何配置 Jupyter Notebook?_第7张图片

3. 如何修改颜色主题?

不喜欢默认界面,或想换下口味,jupyter-themes 可以更改颜色主题。

  • 插件网址
    https://github.com/dunovank/jupyter-themes

  • 安装pip install jupyterthemes

  • 参数说明

命令行选项说明

颜色选项 参数 默认值
查看帮助 -h --
查看主题列表 -l --
主题名称 -t --
代码字体 -f --
代码字号 -fs 11
Notebook 字体 -nf --
Notebook 字号 -nfs 13
文本或 Markdown 单元格 字体 -tf --
文本或 Markdown 单元格 字号 -tfs 13
Pandas DataFrame 字号 -dfs 9
输出内容字号 -ofs 8.5
Mathjax 字号 (%) -mathfs 100
页边距 -m auto
单元格宽 -cellw 980
单元格行高 -lineh 170
光标大小 -cursw 2
光标颜色 -cursc --
Alt 命令布局 -altp --
Alt Markdown 背景色 -altmd --
Alt 输出背景色 -altout --
Vim 风格扩展 -vim --
工具栏是否可见 -T --
Notebook 名称与标识是否可见 -N --
内核标识是否可见 -kl --
重置为默认主题 -r --
强制使用默认字体 -dfonts --
  • 应用示例
    在 Terminal 里设置主题:输入命令 jt -t grade3,jt 是 jupyter-themes 的简称,-t,就是上表里的主题名称对应的参数,grade3,是 jupyter-themes 内置的主题名称,下面列出了默认主题的示例,大家可以选择自己喜欢的。
  • 内置主题

  • grade3

如何配置 Jupyter Notebook?_第8张图片
  • gruvboxd
如何配置 Jupyter Notebook?_第9张图片
  • gruvboxl
如何配置 Jupyter Notebook?_第10张图片
  • chesterish
如何配置 Jupyter Notebook?_第11张图片
  • monokai
如何配置 Jupyter Notebook?_第12张图片
  • oceans16
如何配置 Jupyter Notebook?_第13张图片
  • onedork
如何配置 Jupyter Notebook?_第14张图片
  • solarizedd
如何配置 Jupyter Notebook?_第15张图片
  • solarizedl
如何配置 Jupyter Notebook?_第16张图片

除了默认主题,还可以把主题与其它参数搭配,下面推荐一个呆鸟喜欢的配置
jt -t onedork -f fira -fs 105 -ofs 95 -tfs 105 -nfs 115 -dfs 105 -N -T

下图是修改后的效果,喜欢深色主题的朋友可以试下,文字也更加饱满、清晰。

如何配置 Jupyter Notebook?_第17张图片
  • 恢复默认主题, 所有主题都不喜欢?用 jt -r 即可恢复还原默认主题。
如何配置 Jupyter Notebook?_第18张图片

4. 如何让一个单元格显示多个输出?

正常情况下, 一个单元格只显示一个输出结果;


如何配置 Jupyter Notebook?_第19张图片

执行下列代码以后,就可以显示多个代码了;

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
如何配置 Jupyter Notebook?_第20张图片

5. 如何不使用科学计数法显示数字?

{:,.2f} 代表显示的是两位小数。

pd.options.display.float_format = '{:,.2f}'.format

6. 如何添加与删除虚拟环境?

代码里的 virtualenv-name 要改为实际的虚拟环境名称,比如呆鸟用的虚拟环境就叫 Python3,见下图。

  • 安装:python -m ipykernel install --user --name=virtualenv-name
  • 查看:jupyter kernelspec list
如何配置 Jupyter Notebook?_第21张图片
  • 删除:jupyter kernelspec uninstall virtualenv-name

7. 如何让 matplotlib 与 Seaborn 显示中文?

默认情况下,matplotlib 与 Seaborn 不支持中文,要设置中文字体。

%matplotlib inline

# 设置 matplotlib 图形分辨率
plt.rcParams['figure.dpi'] = 150

# matplotlib 支持中文
plt.rcParams['font.sans-serif'] = ['SimHei']

# matplotlib 正常显示负号
plt.rcParams['axes.unicode_minus'] = False

# Seaborn 字体与字号设置
sns.set( font='SimHei', font_scale=1.2)

# MacOS:matplotlib 与 Seaborn 支持中文
plt.rcParams['font.family'] = ['Arial Unicode MS']
sns.set_style('whitegrid', {'font.sans-serif': ['Arial Unicode MS', 'Arial']})

8. 常用快捷键有哪些?

首先,要了解什么是编辑模式?什么是命令模式

红框里是绿色时,为编辑模式,在命令模式时按 Enter 会进入编辑模式;

红框里是蓝色时,为命令模式,在编辑模式时按 ESC 会进入命令模式;


如何配置 Jupyter Notebook?_第22张图片

通用模式(编辑模式与命令模式均可)快捷键:

  • 调出控制面板:Ctrl + Shift + P
  • 运行当前单元格,选中下方单元格:Shift + Enter
  • 运行当前单元格:Ctrl + Enter
  • 运行当前单元格,在下方插入新单元格:Alt + Enter
  • 保存 ipynb 文件:Ctrl + S

编辑模式快捷键

  • 切换为命令模式:ESC
  • 在光标处分割单元格:Ctrl + Shift + 减号
  • 光标挪至行首或行尾:Alt + ←或→
  • 按单词挪动光标:Ctrl + ←或→
  • 缩进:TAB
  • 取消缩进:Shift + TAB
  • 删除光标前的整个单词:Ctrl + Backspace
  • 删除光标后的整个单词:Ctrl + Delete
  • 显示函数提示:Shift + TAB,按一次显示简略信息,按两次显示详细信息,按三次 10 秒内固定显示,按四次,函数信息固定显示在界面下方。
  • 移动到上一个单元格:↑
  • 移动到下一个单元格:↓
  • 删除光标所在整行:Ctrl + K,光标在行首时
  • 复制光标所在整行:Ctrl + C,注:不要选择任何内容
  • 剪切光标所在整行:Ctrl + X,注:不要选择任何内容
  • 其它复制、剪切、黏贴、重做、取消等快捷键与 Windows 标准快捷键一样。

命令模式快捷键

  • 切换为编辑模式:Enter
  • 选中单元格改为代码格式:Y
  • 选中单元格改为 Markdown 格式:M
  • 选中单元格改为原生格式:R
  • 当前单元格上方插入单元格:A
  • 当前单元格下方插入单元格:B
  • 删除选中单元格:DD,即连续按两次 D 键
  • 恢复删除的单元格:Z
  • 复制选中单元格:C
  • 剪切选中单元格:X
  • 黏贴选中单元格:V
  • 查找与替换内容:F
  • 隐藏 / 显示输出内容:O
  • 隐藏 / 显示代码行号:L
  • 扩展选择当前单元格上方单元格:Shift + ↑
  • 扩展选择当前单元格下方单元格:Shift + ↓
  • 合并多个单元格:Shift + M
  • 重启内核:00,即连续按两次

注:以上快捷键字母不分大小写

如何修改或添加快捷键?

如何配置 Jupyter Notebook?_第23张图片

输入,如:W,E,这样的快捷键

如何配置 Jupyter Notebook?_第24张图片

设置说明,在最下方:

如何配置 Jupyter Notebook?_第25张图片

9. 文末彩蛋,必看!!!

如何配置 Jupyter Notebook?_第26张图片

呆鸟为大家精心编译了 Jupyter Notebook 速查表,详细介绍了 Jupyter Notebook 的界面功能,高清大图 PDF,请在公号后台输入 notebook 获取下载地址。

最后,有关 Jupyter Notebook 用法其实还有很多,比如魔法命令,但小白一般也用不上,就先不介绍了。

总的来说,Jupyter Notebook 比其它 IDE 要简单太多了,小白不至于为了 IDE 操作,就直接晕倒,因此,非常适合上手 Python 数据分析,等深入学习以后,再用那些高大上的 IDE,也为时不晚。

Pandas 百问百答系列

你可能感兴趣的:(如何配置 Jupyter Notebook?)