Jupyter notebook操作技巧
学习笔记:Jupyter notebook操作技巧
- 一、jupyter notebook简介、用途、优势和缺点
- 二、 单元Cell:
- 三、操作技巧
- - 给Jupyter换主题
- - 笔记本扩展(nbextensions)——高效插件
- - Ipywidgets小工具组件
- - Jupyter播放PPT——slide幻灯片操作
- - Qgrid——类似Excel里的筛选功能
- - 嵌入链接和pdf
- Cython
- 常用魔法命令(注意是在Python kernel中适用)
- 在pycharm中使用jupyter
一、jupyter notebook简介、用途、优势和缺点
- 简介
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时代 - 用途
数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等等。 - 优势
可选择语言:支持超过40种编程语言,包括Python、R、Julia、Scala等。
分享笔记本:可以使用电子邮件、Dropbox、GitHub和Jupyter Notebook Viewer与他人共享。
交互式输出:代码可以生成丰富的交互式输出,包括HTML、图像、视频、LaTeX等等。
大数据整合:通过Python、R、Scala编程语言使用Apache Spark等大数据框架工具。支持使用pandas、scikit-learn、ggplot2、TensorFlow来探索同一份数据。
~~提供了一种人性化的REPL终端,以及文档代码一体化等等。 - 缺点
每次启动的时候相对繁琐,若是启动本地安装的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[*]程序正在运行
- code状态下运行代码
- Jupyter Notebook已经取消了Heading状态,即标题单元格。取而代之的是Markdown的一级至六级标题。而Raw NBconvert目前极少用到。
三、操作技巧
通过终端打开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操作技巧的更多相关文章
- jupyter notebook 小技巧
Converting notebooks to other formats¶ !pip install https://github.com/ipython-contrib/jupyter_contr ...
- 27个Jupyter Notebook使用技巧及快捷键(翻译版)
Jupyter Notebook Jupyter Notebook 以前被称为IPython notebook.Jupyter Notebook是一款能集各种分析包括代码.图片.注释.公式及自己画的图 ...
- jupyter notebook使用技巧
shift + tab 键可以查看对应源代码(注意:需要先将代码运行才能查看) Jupyter Notebook 的快捷键 Jupyter Notebook 有两种键盘输入模式:1.命令模式,键盘输入 ...
- Jupyter Notebook使用小技巧
在 C:\Windows\Fonts目录下找到Mircosoft YaHei UI字体,然后复制到[你的Python安装路径]/Lib/site-packages/matplotlib/mpl-dat ...
- Jupyter Notebook 介绍 安装和使用技巧
Jupyter Notebook介绍.安装及使用教程 原文链接:https://www.jianshu.com/p/91365f343585 目录一.什么是Jupyter Notebook? 1. 简 ...
- 关于Jupyter Notebook快捷操作
Jupyter Notebook 的快捷键 Jupyter Notebook 有两种键盘输入模式.编辑模式,允许你往单元中键入代码或文本:这时的单元框线是绿色的.命令模式,键盘输入运行程序命令:这时的 ...
- Jupyter Notebook 快捷键和技巧
Jupyter Notebook 有两种键盘输入模式. 编辑模式,允许你往单元中键入代码或文本,这时的单元框线是绿色的. 命令模式,键盘输入运行程序命令:这时的单元框线是蓝色. 命令模式 ...
- jupyter notebook的两个使用技巧
1.设置jupyter notebook的密码: Jupyter-notebook password 2.查看jupyter notebook的token: Jupyter notebook list
- 【机器学习实践】Jupyter Notebook安装 侧边导航栏功能 操作及其他常用扩展功能介绍
安装过程: 1. 首先我们引入jupyter_contrib_nbextension这个第三方库. 2. 在Anaconda Promot中输入命令: pip install jupyter_con ...
随机推荐
- SpringMVC听课笔记(十四:异常处理)
1. SpringMVC通过HandlerExceptionResolver处理程序的异常,包括Handler映射,数据绑定以及目标方法执行时发生的异常 2.SpringMVC提供的HandlerEx ...
- ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具
ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具 一.ShowDoc官方文档及说明 1.1 它可以用来做什么 1.2 它都有些什么功能 1.3 使用在线的ShowDoc 1.4 ...
- Fastjson使用实例
Fastjson使用实例 一.FastJson使用范例 1.1FastJson三个核心类 1.2Maven依赖 1.3Scala API 1.3.1反序列化 1.3.2序列化 1.4Java API ...
- 天天写同步,5种SpringMvc异步请求了解下!
引言 说到异步大家肯定首先会先想到同步.我们先来看看什么是同步? 所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作. 简单来说,同步就是必须一件一件事做,等前一件 ...
- 2019牛客暑期多校训练营(第八场)A.All-one Matrices(dp)
题意:又是最大01矩阵的模型了 这次要找的是极大0/1矩阵的个数 思路:我们像处理最大01矩阵那样处理一下边界 由于我们上左右已经无法再继续扩展 我们只需要用前缀和记录一下是否可以向下扩展(即判断当前 ...
- Codeforces Round #544 (Div. 3) E. K Balanced Teams (DP)
题意:有\(n\)个人,每个人的能力值是\(a_i\),现在你想将这些人分成\(k\)组(没必要全选),但是每组中最高水平和最低水平的人的能力差值必须\(\le 5\),问最多能选多少人. 题解:想了 ...
- Codeforces Round #645 (Div. 2) D. The Best Vacation (贪心,二分)
题意:一年有\(n\)个月,每月有\(d_{i}\)天,找出连续的\(x\)天,使得这\(x\)天的日期总和最大,任意一年都能选. 题解:首先要先贪心,得到:连续的\(x\)天的最后一天一定是某个月的 ...
- Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)
Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)准备内容 Revit 2019开发环境的搭建,需要安装的内容如下: Revit 2019(主要的开发环境) Vi ...
- 踏上Revit二次开发之路 0 序
0 序 近来,由于工作上的需要,开始自学Revit二次开发. Revit由欧特克公司专为BIM构建,是建筑业体系中使用最广泛的软件之一.借助欧特克公司在我国市场占有率方面的绝对优势,甚至给不少人带来& ...
- BIM轻量化——浏览器展示
此篇博客仅为记录,记录钻研过程的零碎思路. 之前考虑过很多可能性,对rvt文件转换格式:.obj.JSON..gltf等等.这些可能性前人一般都尝试过,而且也都做出来了东西. ...