Jupyter notebook操作技巧

一、jupyter notebook简介、用途、优势和缺点

  1. 简介
    Jupyter notebook源于Fernando Perez发起的IPython 项目
    IPython 是一种交互式shell,与普通的Python shell相似,但有些更高级的功能,例如语法高亮显示和代码补全,有magic操作。Jupyter notebook将IPython做成了一种开源的Web应用,允许用户创建和共享包含代码、方程式、可视化和文本的文档。Jupyter这个名字是它要服务的三种语言的缩写:Julia,Python和R,与“木星(jupiter)”谐音,事实上起名也是 Jupyter项目组对伽利略发现木星卫星时所用笔记本的致敬。
    IPython时代 ——>Jupyter Notebook时代——Jupyter Lab时代——Jupyter Hub时代
  2. 用途
    数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等等。
  3. 优势
    可选择语言:支持超过40种编程语言,包括Python、R、Julia、Scala等。
    分享笔记本:可以使用电子邮件、Dropbox、GitHub和Jupyter Notebook Viewer与他人共享。
    交互式输出:代码可以生成丰富的交互式输出,包括HTML、图像、视频、LaTeX等等。
    大数据整合:通过Python、R、Scala编程语言使用Apache Spark等大数据框架工具。支持使用pandas、scikit-learn、ggplot2、TensorFlow来探索同一份数据。
    ~~提供了一种人性化的REPL终端,以及文档代码一体化等等。
  4. 缺点
    每次启动的时候相对繁琐,若是启动本地安装的IDE,一个命令或者点击一下图标即可,但是jupyter notebook要进入命令行/终端,输“jupyter notebook”,若使用的是虚拟环境,首先还要激活虚拟环境,而且启动后它会占用一个终端或命令行窗口,如果意外关闭则会终止jupyter notebook服务。

二、 单元Cell:

  • 两种模式: 命令模式(Command Mode)与编辑模式(Edit Mode)。
    • 按y m切换markdown和code模式
    • 点Esc键或运行单元格(ctrl-enter)切换回命令模式、按Enter键或者双击cell变为编辑状态。
  • 四种功能: Code、Markdown、Raw NBConvert、Heading
    • Jupyter Notebook已经取消了Heading状态,即标题单元格。取而代之的是Markdown的一级至六级标题。而Raw NBconvert目前极少用到。
      • code状态下运行代码
        In[ ]程序未运行
        In[num]程序运行后
        In[*]程序正在运行

三、操作技巧

通过终端打开jupyter后,保持终端不要关闭,否则会断开与本地服务器的链接。
打开后,浏览器地址为:http://localhost:8888。其中,“localhost”指的是本机,“8888”则是端口号。多打开一个则端口号+1。

代码状态下 按h 跳出快捷键帮助
jupyter中命令之前加个“!”,即可执行shell命令。

- 给Jupyter换主题

pip install jupyterthemes	#安装
jt -l 	#加载可用主题列表
jt -t <name of the theme>		#选择想要的主题
jt -r	#恢复原来的主题
======================================================================
其中 <name of the theme> 包括:
chesterish、grade3、gruvboxd、gruvboxl monokai、oceans16、onedork、solarizedd、solarizedl

- 笔记本扩展(nbextensions)——高效插件

是一种JavaScript模块,将一系列 js 脚本嵌入到 Jupyter 中,可以加载到笔记本前端页面上,可以大大提升用户体验。
功能包括:Hinterland跳出下拉菜单、Snippets直接插入代码段、拆分单元格,相邻的模式 分栏、生成目录、 折叠标题Collapsible Headings、Autopep8美化代码、ExecutionTime 获得单元格执行时间
代码(省略 我们一般使用的%time以及基于装饰器的计时器函数来度量函数的时间。)…

 #conda安装nbextensions
 conda install -c conda-forge jupyter_nbextensions_configurator
 #pip安装nbextensions1步:用 pip 来安装它
pip install jupyter_contrib_nbextensions
第2步:安装关联的 JavaScript 和 CSS 文件
jupyter contrib nbextension install --user

- Ipywidgets小工具组件

Ipywidgets作者:Martin Renou,QuantStack的科学软件工程师。
Ipywidgets功能:多种的Python对象,通常在Jupyter Notebook或JupyterLab中具有可视化表示:按钮,滑块,文本输入,复选框等。
详细用法参考:https://mp.weixin.qq.com/s/9We5ovP88lAICrDKQIQKxg

- Jupyter播放PPT——slide幻灯片操作

默认是一个单元格cell就是一张PPT
方法一: Jupyter内置PPT,View → Cell Toolbar → Slideshow,选择子幻灯片,然后进入到ipynb文件所保存的文件夹中,路径中输入,则会打开.html文件即为所需要的slide

	 jupyter nbconvert 文件名.ipynb --to slides --post serve

方法二: 使用RISE插件。用到reveal.js来运行PPT,可以不退出PPT,直接运行代码。

详细参考:https://github.com/damianavila/RISE

- Qgrid——类似Excel里的筛选功能

用pip安装:
pip install qgrid
jupyter nbextension enable --py --sys-prefix qgrid	#only required if you have not enabled the ipywidgets nbextension yet
jupyter nbextension enable --py --sys-prefix widgetsnbextension
用conda安装:
#only required if you have not added conda-forge to your channels yet
conda config --add channels conda-forge
conda install qgrid

- 嵌入链接和pdf

from IPython.display import IFrame
IFrame('https://www.baidu.com/', width=800, height=450)	#嵌入链接
IFrame('https://arxiv.org/pdf/1406.2661.pdf', width=800, height=450)	#嵌入pdf

Cython

Cython是个能用 Python 编译 C 语言的程序包,这也是 Numpy 和 Pandas 运行快的主因。
通过pip install cython 安装 Cython,会发现在没有更改任何代码的情况下,性能立马提高了两倍

常用魔法命令(注意是在Python kernel中适用)

基于IPython内核,Jupyter可以访问IPython内核中的所有Magics。

%lsmagic	显示所有magic方法
%:			行魔法函数,只对本行代码生效。
%%:		Cell魔法函数,在整个Cell中生效,必须放于Cell首行。
%lsmagic:	列出所有的魔法函数
%magic		查看各个魔法函数的说明
?后面加上魔法函数名称,可以查看该函数的说明

%run 用来运行代码脚本
%timeit 测试单行语句的执行时间
%%timeit 测试整个单元中代码的执行时间——使用Python timeit模块 ,该模块运行一条语句100,000次(默认情况下),然后提供最快的三次平均值。
% matplotlib inline 显示 matplotlib 包生成的图形
%%writefile 写入文件
%pdb 调试程序		(Jupyter 自己的调试界面The Python Debugger (pdb))
%pwd 查看当前工作目录
%ls 查看目录文件列表
%reset 清除全部变量
%who 查看所有全局变量的名称,若给定类型参数,只返回该类型的变量列表
%whos 显示所有的全局变量名称、类型、值/信息
%xmode Plain 设置为当异常发生时只展示简单的异常信息
%xmode Verbose 设置为当异常发生时展示详细的异常信息
%debug bug调试,输入quit退出调试
%env 列出全部环境变量

Pdb中可使用的命令见链接(https://docs.python.org/3.5/library/pdb.html#debugger-commands)

Jupyter notebook 和 Jupyter lab 的区别
notebook 打开的只是单个文件的执行文件,而 lab 相当于打开了一个内置的编辑器,可以对目录内的所有文件进行操作,并且内置了 python 的调试和终端.
Jupyterlab 的基本理念是将经典 notebook 中的所有功能以及新特性整合在一起。

在pycharm中使用jupyter

参考视频:https://www.zhihu.com/question/266988943/answer/662774364

#学习参考,非常好的文章:https://zhuanlan.zhihu.com/p/90109972

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值