数据分析篇 | 如何配置数据分析利器Jupyter Notebook?

2019-12-12 11:06:12 浏览数 (1)

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

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

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

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

2. 如何安装扩展插件?

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

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

jupyter_contrib_nbextensions

代码语言:javascript复制
# 用 pip 安装,二选一
pip install jupyter_contrib_nbextensions

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

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

jupyter_nbextensions_configurator

代码语言:javascript复制
# 用 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,直接进入插件界面:

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

去掉√,以后就可以了。

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

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

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

循环进度条

  • 插件网址:https://tqdm.github.io/
  • 插件用途:数据分析有时要操作循环,但 Jupyter Notebook 没有显示监控的功能,tqdm 这个插件就是用来监控循环进度的,很实用。
  • 代码示例
代码语言:javascript复制
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())

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
  • gruvboxd
  • gruvboxl
  • chesterish
  • monokai
  • oceans16
  • onedork
  • solarizedd
  • solarizedl

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

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

  • 恢复默认主题, 所有主题都不喜欢?用 jt -r 即可恢复还原默认主题。

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

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

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

代码语言:javascript复制
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

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

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

代码语言:javascript复制
pd.options.display.float_format = '{:,.2f}'.format

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

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

  • 安装:python -m ipykernel install --user --name=virtualenv-name
  • 查看:jupyter kernelspec list
  • 删除:jupyter kernelspec uninstall virtualenv-name

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

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

代码语言:javascript复制
%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 会进入命令模式;

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

  • 调出控制面板: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 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,即连续按两次

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

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

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

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

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

【完】

如果你觉得文章还不错,请大家点赞分享下。你的肯定是我最大的鼓励和支持。

0 人点赞