Jupyter notebook操做技巧

学习笔记:Jupyter notebook操做技巧

  • 1、jupyter notebook简介、用途、优点和缺点
  • 2、 单元Cell:
  • 3、操做技巧
    • - 给Jupyter换主题
    • - 笔记本扩展(nbextensions)——高效插件
    • - Ipywidgets小工具组件
    • - Jupyter播放PPT——slide幻灯片操做
    • - Qgrid——相似Excel里的筛选功能
    • - 嵌入连接和pdf
    • Cython
    • 经常使用魔法命令(注意是在Python kernel中适用)
  • 在pycharm中使用jupyter

 

1、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、ggplot二、TensorFlow来探索同一份数据。
    ~~提供了一种人性化的REPL终端,以及文档代码一体化等等。
  4. 缺点
    每次启动的时候相对繁琐,如果启动本地安装的IDE,一个命令或者点击一下图标便可,可是jupyter notebook要进入命令行/终端,输“jupyter notebook”,若使用的是虚拟环境,首先还要激活虚拟环境,并且启动后它会占用一个终端或命令行窗口,若是意外关闭则会终止jupyter notebook服务。

2、 单元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[*]程序正在运行

3、操做技巧

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

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

- 给Jupyter换主题

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

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

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

#conda安装nbextensions conda install -c conda-forge jupyter_nbextensions_configurator #pip安装nbextensions 第1步:用 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/9We5ovP88lAICrDKQIQKxggit

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

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

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

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

详细参考: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 中的全部功能以及新特性整合在一块儿。markdown

http://www.dtmao.cc/news_show_715227.shtml

相关文章
相关标签/搜索