学习笔记: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. Java 跨域 Json字符转类对象

    前言 解析json 测试类 测试结果 前言 对于从其他服务器的url获得数据,我们一般都为json数据传输,比如服务器B要从服务器A的url获得分页信息,得到json字符后如果可以方便快捷操作要转为自 ...

  2. java架构《并发线程基础一》

    1.实现线程常见的两种的方式 : 1:继承extends Thread 2:实现new Runnable 实现其run方法 2.线程安全    结论: 当多个线程访问某一个类(对象或方法)时,这个对象 ...

  3. ubuntu14.04 ssh允许root用户远程登录

    vi /etc/ssh/sshd_config #注释掉 #PermitRootLogin without-password # Authentication: LoginGraceTime 120 ...

  4. Redis挖矿原理及防范

    笔者也曾经被挖矿病毒侵袭过,灰常难受,但是其实你只要了解入侵的手段就非常好防范了,今天我们就演示一下如果通过Redis进行提权获取远程服务器的Root用户. 1.首先我们需要一些先决条件 条件一:你首 ...

  5. Flink-v1.12官方网站翻译-P016-Flink DataStream API Programming Guide

    Flink DataStream API编程指南 Flink中的DataStream程序是对数据流实现转换的常规程序(如过滤.更新状态.定义窗口.聚合).数据流最初是由各种来源(如消息队列.套接字流. ...

  6. Jenkins(5)生成allure报告

    前言 jenkins集成了allure插件,安装插件后运行pytest+allure的脚本即可在jenkins上查看allure报告了. allure安装 在运行代码的服务器本机,我这里是用的dock ...

  7. RAID 技术全解

    图文并茂 RAID 技术全解 – RAID0.RAID1.RAID5.RAID100-- RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆.这篇文章为网络转 ...

  8. Codeforces Round #631 (Div. 2)

    Contest Info Practice Link Solved A B C D E F 4/6 O O Ø       O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solu ...

  9. CF-311B Cats Transport(斜率优化DP)

    题目链接 题目描述 小S是农场主,他养了 \(M\)只猫,雇了 \(P\) 位饲养员. 农场中有一条笔直的路,路边有 \(N\) 座山,从 \(1\) 到 \(N\)编号. 第 \(i\) 座山与第 ...

  10. HDU-3499Flight (分层图dijkstra)

    一开始想的并查集(我一定是脑子坏掉了),晚上听学姐讲题才知道就是dijkstra两层: 题意:有一次机会能使一条边的权值变为原来的一半,询问从s到e的最短路. 将dis数组开成二维,第一维表示从源点到 ...