前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据分析篇 | 如何配置数据分析利器Jupyter Notebook?

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

作者头像
龙哥
发布2019-12-12 11:06:12
2.3K0
发布2019-12-12 11:06:12
举报
文章被收录于专栏:Python绿色通道
  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,也为时不晚。

【完】

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python绿色通道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 如何在启动时指定目录?
  • 2. 如何安装扩展插件?
    • 循环进度条
      • 命令行选项说明
  • 3. 如何修改颜色主题?
  • 4. 如何让一个单元格显示多个输出?
  • 5. 如何不使用科学计数法显示数字?
  • 6. 如何添加与删除虚拟环境?
  • 7. 如何让 matplotlib 与 Seaborn 显示中文?
  • 8. 常用快捷键有哪些?
  • 9. 文末彩蛋,必看!!!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档