学习笔记:Jupyter notebook操作技巧

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

一、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安装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/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 中的所有功能以及新特性整合在一起。

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

Jupyter notebook操作技巧的更多相关文章

  1. jupyter notebook 小技巧

    Converting notebooks to other formats¶ !pip install https://github.com/ipython-contrib/jupyter_contr ...

  2. 27个Jupyter Notebook使用技巧及快捷键(翻译版)

    Jupyter Notebook Jupyter Notebook 以前被称为IPython notebook.Jupyter Notebook是一款能集各种分析包括代码.图片.注释.公式及自己画的图 ...

  3. jupyter notebook使用技巧

    shift + tab 键可以查看对应源代码(注意:需要先将代码运行才能查看) Jupyter Notebook 的快捷键 Jupyter Notebook 有两种键盘输入模式:1.命令模式,键盘输入 ...

  4. Jupyter Notebook使用小技巧

    在 C:\Windows\Fonts目录下找到Mircosoft YaHei UI字体,然后复制到[你的Python安装路径]/Lib/site-packages/matplotlib/mpl-dat ...

  5. Jupyter Notebook 介绍 安装和使用技巧

    Jupyter Notebook介绍.安装及使用教程 原文链接:https://www.jianshu.com/p/91365f343585 目录一.什么是Jupyter Notebook? 1. 简 ...

  6. 关于Jupyter Notebook快捷操作

    Jupyter Notebook 的快捷键 Jupyter Notebook 有两种键盘输入模式.编辑模式,允许你往单元中键入代码或文本:这时的单元框线是绿色的.命令模式,键盘输入运行程序命令:这时的 ...

  7. Jupyter Notebook 快捷键和技巧

    Jupyter Notebook 有两种键盘输入模式. 编辑模式,允许你往单元中键入代码或文本,这时的单元框线是绿色的. 命令模式,键盘输入运行程序命令:这时的单元框线是蓝色.       命令模式 ...

  8. jupyter notebook的两个使用技巧

    1.设置jupyter notebook的密码: Jupyter-notebook password 2.查看jupyter notebook的token: Jupyter notebook list

  9. 【机器学习实践】Jupyter Notebook安装 侧边导航栏功能 操作及其他常用扩展功能介绍

    安装过程:  1. 首先我们引入jupyter_contrib_nbextension这个第三方库. 2. 在Anaconda Promot中输入命令: pip install jupyter_con ...

随机推荐

  1. SpringMVC听课笔记(十四:异常处理)

    1. SpringMVC通过HandlerExceptionResolver处理程序的异常,包括Handler映射,数据绑定以及目标方法执行时发生的异常 2.SpringMVC提供的HandlerEx ...

  2. ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具

    ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具 一.ShowDoc官方文档及说明 1.1 它可以用来做什么 1.2 它都有些什么功能 1.3 使用在线的ShowDoc 1.4 ...

  3. Fastjson使用实例

    Fastjson使用实例 一.FastJson使用范例 1.1FastJson三个核心类 1.2Maven依赖 1.3Scala API 1.3.1反序列化 1.3.2序列化 1.4Java API ...

  4. 天天写同步,5种SpringMvc异步请求了解下!

    引言 说到异步大家肯定首先会先想到同步.我们先来看看什么是同步? 所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作. 简单来说,同步就是必须一件一件事做,等前一件 ...

  5. 2019牛客暑期多校训练营(第八场)A.All-one Matrices(dp)

    题意:又是最大01矩阵的模型了 这次要找的是极大0/1矩阵的个数 思路:我们像处理最大01矩阵那样处理一下边界 由于我们上左右已经无法再继续扩展 我们只需要用前缀和记录一下是否可以向下扩展(即判断当前 ...

  6. Codeforces Round #544 (Div. 3) E. K Balanced Teams (DP)

    题意:有\(n\)个人,每个人的能力值是\(a_i\),现在你想将这些人分成\(k\)组(没必要全选),但是每组中最高水平和最低水平的人的能力差值必须\(\le 5\),问最多能选多少人. 题解:想了 ...

  7. Codeforces Round #645 (Div. 2) D. The Best Vacation (贪心,二分)

    题意:一年有\(n\)个月,每月有\(d_{i}\)天,找出连续的\(x\)天,使得这\(x\)天的日期总和最大,任意一年都能选. 题解:首先要先贪心,得到:连续的\(x\)天的最后一天一定是某个月的 ...

  8. Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)

    Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)准备内容 Revit 2019开发环境的搭建,需要安装的内容如下: Revit 2019(主要的开发环境) Vi ...

  9. 踏上Revit二次开发之路 0 序

    0 序 近来,由于工作上的需要,开始自学Revit二次开发. Revit由欧特克公司专为BIM构建,是建筑业体系中使用最广泛的软件之一.借助欧特克公司在我国市场占有率方面的绝对优势,甚至给不少人带来& ...

  10. BIM轻量化——浏览器展示

    此篇博客仅为记录,记录钻研过程的零碎思路.         之前考虑过很多可能性,对rvt文件转换格式:.obj.JSON..gltf等等.这些可能性前人一般都尝试过,而且也都做出来了东西.     ...