15个应该掌握的Jupyter Notebook 使用技巧

标签: python  数据分析  IPython  Jupyter

Jupyter Notebook是一个基于浏览器的交互式编程环境(REPL, read eval print loop),它主要构建在IPython等开源库上,允许我们在浏览器上运行交互式python代码。并且有许多有趣的插件和神奇的命令,大大增强了python的编程体验。

1. 计算单元的执行时间

我们可以在一个jupyter notebook单元的开头使用%%time命令来计算执行该单元的时间。

2. 进度条

可以使用python外部库创建进度条,它可以实时更新代码运行的进度。它让用户知道正在运行的代码脚本的状态。你可以在这里获得相关的库Github库。使用进度条设置,具体操作如下:

首先,安装tqdm库:
在cmd命令窗口输入pip3 install tqdm或者直接在jupyter notebook单元内输入!pip install tqdm

然后,通过以下命令生成进度条:

3. 代码格式自动补全

有时jupyter notebook单元格中的代码段格式不好,通过nb_black库,可以自动调整代码段的正确格式,让代码具有更好的可读性。

安装nb_black库:

pip3 install nb_black

在jupyter notebook 中使用:

%load_ext nb_black

格式混乱的代码段

自动调整后的代码段

4. 下载并安装Python库

Jupyter notebook可以通过在单元格内输入!pip install ***代码,自动下载并安装指定的python库。
以pandas库为例,具体代码如下:

5. 函数说明文档

通过shift+tab快捷键,可以在jupyter notebook 内直接打开函数的说明文档。

具体使用方式如下:

  • 输入使用的函数名
  • 按下快捷键shift+tab
  • 点击弹出窗口中的^按钮可以在当前窗口中显示说明文档
  • 点击+可以控制文本向下滑动
  • 点击x可以关闭说明文档窗口

pandas 中 read_csv 函数的说明文档

6. 代码自动补全

Jupyter notebook可以显示任何函数名或变量的补全建议。若要查看补全建议,可以按键盘上的Tab键,建议将出现在一个自上而下显示的菜单中。单击关键字或在所选关键字上单击enter键以确认补全的代码。

pandas 中函数的补全建议

7. 调整输出结果的显示窗口

Jupyter notebook 可以在代码单元格的下方显示输出。当用户的输出过多时,可以选择调整显示窗口的尺寸,将该显示窗口调整为一个滚动窗口。并且在显示窗口左边双击,可以折叠该窗口。

调整显示窗口

8. 单元运行快捷键

通过以下快捷键可以提高编程效率:

  • shift+enter 运行当前单元,并且高亮显示下一单元,如果没有下一单元就新建一个单元。
  • alt+enter 运行当前单元,并且插入一个新单元并高亮显示。

9. Markdown笔记

Jupyter notebook的单元格不仅可以运行代码段,还可以设置单元格为Markdown方式用来编写文本。

转换方式如下:

  • 点击目标单元格
  • 选中“Markdown”选项

单元格由代码模式转换至Markdown模式

Markdown模式运行效果

10. 运行不同的编程语言

Jupyter notebook还可以用来编译和运行来自不同语言的代码。只需要在单元格开头处输入%%****命令,就可以运行****对应的语言代码:

  • %%bash
  • %%HTML
  • %%python2
  • %%python3
  • %%ruby
  • %%perl

在jupyter notebook 单元格内运行HTML代码

11. 多行同时编辑

Jupyter Notebook支持同时使用多个光标编辑代码。通过alt键选择要编辑的代码段后,可以同时使用多个光标编辑代码。

12. 创建演示文档

Jupyter notebook可用于创建PowerPoint样式的演示文稿。在这里,笔记本的每个单元格或单元格组都可以视为幻灯片。

  • 首先,安装RISE库(conda install -c damianavila82 rise
  • 安装后,RISE 相关按钮将会添加进工具栏(view->cell->toolbar->slideshow)
  • 选中需要展示的单元格,可将其设置为一个幻灯片
  • 选择完毕后,点击RISE Sliedeshow按钮完成演示文档的创建

13. 共享Jupyter notebook

程序代码写完后,Jupyter notebook 提供了多种形式以便于用户进行分享:

  • 以 HTML, PDF, ipynb, py等文件格式进行分享

  • 使用JupyterHub,它可以创建一个多用户共享Hub,该Hub生成、管理和代理用户Jupyter笔记本服务器。

  • 直接上传到网络当中

14. 数据展示

Jupyter notebook可以通过众多的python库和R语言相关库,生成不同的图表。常用的库有:

  • Matplotlib
  • Seaborn
  • bokeh
  • plot.ly

各种图表样式

15. 快捷键方式

使用快捷方式可以节省程序员大量的时间并优化编程体验。Jupyter notebook有很多内置的键盘快捷键,可以在“help”菜单栏下找到:“help”>“Help>Keyboard Shortcuts”。

Jupyter notebook还提供了编辑键盘快捷键的功能,以方便程序员进行个性化设置。

快捷键面板(命令模式)

快捷键面板(编辑模式)

作者:Satyam Kumar

deephub翻译组:Oliver Lee

版权声明:本文为m0_46510245原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_46510245/article/details/108689139

智能推荐

15个能使你工作效率翻倍的Jupyter Notebook的小技巧

概述 在数据科学界,Jupyter Notebook是一个受欢迎的工具,采用率很高。本文旨在分享一些很酷的技巧和技巧,帮助您在使用Jupyter Notebook的同时提高效率。了解如何从Jupyter Notebook执行终端命令,通过隐藏输出加快速度,向Jupyter Notebook添加其他功能,等等! 技巧1-使用常用快捷键快速导航 了解这些快捷方式可以帮助你节省时间。我已经用黄色强调了我...

冒泡排序,及改进方式,性能优化400%>>>附图解加源码

首先源码附上,源码中带有注释,看不懂没关系,源码后面附带图解,最后附上代码效率提升图 源码如下: 方案一:其实实现很简单,两层循环,每次内层迭代出最大的一个值,将其放入数组最后一个位置,外层循环的末端便往前移一位。其原理如下图 方案一代码块: 方案二:优化改进 仔细观察上面的图,我们不难发现当迭代到图下这样的情况时,其实已经全排序好了,但是我们还是需要对它进行1,2,3,4,5,6的迭代,这些情况...

css3常用选择器

先介绍一下基本选择器,如下几种 *:通配符。选择页面的所有元素 E:元素选择器。对页面的一些元素进行选择,如p,div,li等 .class:类选择器 #id:id选择器。一个Id在一个页面中只能选择,这是和类选择器的区别 E F:后代选择器。如ul li。选中ul下的li E>F:子元素选择器。如下,可以用 h1 > strong {color:red;}使h1的子元素strong变...

python is not set from command line or npm configuration

问题 猜测原因  python版本冲突 解决方案  去官网找到最新版本python 点击下载,注意记住你下载的目录,下载好以后,打开这个目录下的文件夹,Python310, 整个文件夹复制一下 在项目里运行npm config list --json 找到python的路径   我的是 C:\\Python27\\python.exe 说明项目里用的还是py...

Java8 Stream流操作

前言 我们常常需要将一个容器转化成另一个容器,或是对这个容器中的数据进行批量处理,这时使用Stream流可以大大减少我们的工作量。 1 Stream概述 Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的 Lambda ,给我们操作集合(Collection)提供了极大的便利。 那么什么是Stream? Stream将要处理的元素集合看作一种流,在流的过程中,借助St...

猜你喜欢

带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑

在Windows下进行C++的开发,不可避免的要与Windows的底层库进行交互,然而VS下的一项设置MT、MTd、MD和MDd却经常让人搞迷糊,相信不少人都被他坑过,特别是你工程使用了很多第三库的时候,及容易出现各种链接问题。看一下下面这个错误提示:  LIBCMT.lib(_file.obj) : error LNK2005: ___initstdio already defined...

git 设置 gitignore 忽略 __pycache__

清除git缓存中的pycache 直接删掉硬盘上的文件 如果我想保留硬盘上的这个文件,而只删除版本管理中的文件,就需要加入--cached参数。 切换分支出现问题 尽管我已经删除了__pycache__,硬盘也没有了,但是切换分支的时候依然是会提示本地重写的情况。 提示:需要我在切换分支之前,提交一次更新。 提交了更新之后,再来尝试切换分支,如下: 成功了,说明当做了任何变更之后,切换分支前需要执...

人生苦短,我用Python(二)— 爬取会议网站 EasyChair Smart CFP

寒假留校帮学长写了个爬虫,抓取会议网站上一些CFP信息。想着把一些知识点、坑点记下来,一来做个小总结给工作收收尾,二是以后再遇到好从容应对。 这是我写的第二个比较完善的爬虫了,比第一个要简单许多,完全过程化的代码,而且easychair这个网站页面布局比较友好,适合python新手、前端小白入门练习。但这个网站反爬比较厉害,写爬虫的过程中就被ban了好几次…… 制定抓取...

(三)Single Threaded Execution模式

一、定义 一个线程执行。有时也称为Critical Section(临界区)。   二、模式案例 案例: 假设有三个人,频繁地通过一扇门,规定每次只能通过一个人,当通过一个人时,程序会将通过的总人次加1,同时记录该次通过人的姓名和出生地。   门的定义:   人的定义     测试类     多次执行后发现可能出现以下结果: &...

Linux服务管理之系统管理员需要掌握的命令

为什么80%的码农都做不了架构师?>>>    systemd的主要命令行工具是systemctl。大多数Linux系统管理员应该都已经非常熟悉系统服务和init系统管理,比如service,chkconfig和telinit命令的使用。systemd也完成同样的管理任务,只是命令工具systemctl的语法有所不同而已。 1. sysvinit和system...