高效使用Jupyter Notebook的15个技巧

标签: 技术杂谈  python  大数据  数据分析  人工智能

在数据科学领域,Jupyter Notebook是一种非常流行的工具。本文旨在分享一些很酷的技巧,帮助您在使用Jupyter Notebook时更加高效,包括了解如何从Jupyter执行终端命令,如何通过隐藏输出来加速运行,为Notebook添加拓展等。

1:使用快捷键

了解快捷键可以节省很多时间。下图用黄色突出显示了我常用的组合。如果您忘记了快捷方式,可以进入命令模式并按H键查看完整列表。Jupyter Notebook还允许您根据需要创建自己的快捷键。单击“编辑快捷方式”按钮以设计您自己的热键。

在这里插入图片描述在这里插入图片描述

2:显示多个输出结果

Jupyter Notebook每次只能显示一个输出,如下所示。在示例中,仅显示最后一个变量的输出。

在这里插入图片描述

您可以添加以下代码以显示单元格中的所有输出。

在这里插入图片描述

3:在Notebook中显示图片

如果要插入图片,必须首先将单元格类型从“code”更改为“Markdown”。您可以在页面顶部的下拉框中执行此操作,或者转到“命令模式”并按M。一旦单元格为Markdown,只需将图片拖放到单元格中即可。将图像放入单元格后,将出现一些代码。运行单元格(Shift + Enter)以查看图像。

在这里插入图片描述

4:在Notebook中运行终端命令

不必离开Jupyter笔记本来执行Shell命令,而是可以在命令开头使用感叹号(!)。例如,您可以安装软件包。

!pip install matplotlib

5:使用内置的魔术命令

魔术命令(magic commands)是有助于提高生产率的特殊命令。您可能最熟悉下面的魔术命令,该命令让Notebook渲染Python Matplotlib创建的图表。

%matplotlib inline

一些常用的魔术命令:

%pwd #打印当前工作目录
%cd #更改工作目录
%ls #显示当前目录中的内容
%load [在此处插入Python文件名] #将代码加载到Jupyter Notebook
%store [在此处插入变量]  #这使您可以传递Jupyter Notebooks之间的变量
%who  #使用它列出所有变量

查看魔术命令的完整列表:

%lsmagic

6. 记录单元格执行时间

使用魔术命令’%%time’测量单元格执行的时间。

在这里插入图片描述

7. 使用多光标加速工作

假设您有多行代码,如下所示,并且您想要删除代码每一行中的所有数字。您可以一次完成所有操作,而不必逐行删除每个数字!

在这里插入图片描述

按住Alt键并选择整个单元格内容。按下向左箭头,您将看到现在有多个光标(下面的代码片段中的黑线),每行一个。然后,您可以从此处按delete键删除所有数字。如果要将光标移到末尾,请使用向右箭头键。

在这里插入图片描述

8. 提示代码运行完毕

如果代码需要运行较长一段时间,可以添加代码让Python告诉您何时完成运行。

Windows用户:代码完成后会发出警报声音。

在这里插入图片描述

Mac用户

在这里插入图片描述

9. 安装拓展(extensions)

Jupyter Notebook的扩展程序是非常灵巧的工具,可为您提供更多功能。以下是您可以启用的可配置扩展的列表。对我来说常用的拓展有:折叠标题,代码折叠,便签本和拼写检查器。

在这里插入图片描述

10. 显示函数文档

如果您忘记了特定方法/函数的参数,使用Shift + Tab获取方法的文档。单击右上角的+箭头以展开文档。

在这里插入图片描述

11. 增加pandas显示的行数和列数

Python pandas显示的行和列数有限,但是您可以根据自己的喜好调整限制。在这里,我将行和列的最大输出设置为500。

import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)

12. 在输出单元格中使用Markdown

为了突出输出单元格的重要内容,可以添加粗体和颜色。我还没有尝试过,但是我觉得Stas Bekman提供了一个非常酷的技巧。请参见下面的代码段。

在这里插入图片描述

13. 隐藏输出加速Notebook运行

Jupyter Notebook有时候运行缓慢,这可能是因为要渲染很多图形。将鼠标悬停在图表左侧的区域(请参见下面的红色矩形),然后双击该区域以隐藏输出。这将极大地提高Notebook运行的效率。

在这里插入图片描述

14. 隐藏烦人的Matplotlib文本

使用Python Matplotlib创建图表时,可能会在图表的正上方(下面突出显示的黄色)看到此文本“ <<matplotlib.collections.PathCollection at 0x9fae910>”。

在这里插入图片描述

我个人觉得很烦,可以在代码末尾添加分号隐藏文本。

在这里插入图片描述

15. 整理文档的结构

使用Markdown单元格,可以详细记录您的工作。使用“#”符号创建字体层次结构来组织文档的结构,如下所示。

在这里插入图片描述

执行了上面的单元格,获得以下输出。
在这里插入图片描述

当创建不同的标题并将其与技巧9提到的可折叠标题扩展相结合,则可以在长文档中实现快速导航。

本文来自于Medium,原文作者:Julia Kho,原文标题:15 Tips and Tricks to Use Jupyter Notebook More Efficiently,翻译校对:蜂鸟数据

如果喜欢我们的文章,记得点赞和收藏哦,我们每天都会为大家带来Python,数据科学和量化交易的精品内容。

【关于我们】

蜂鸟数据:国内领先的金融数据API提供商。

蜂鸟数据团队由业界顶尖的数据工程师,数据科学家和宽客组成,我们正努力构建一个强大的金融数据库,并提供API接口,目标是令金融数据开源化和平民化。

浏览并测试我们接口吧,目前覆盖股票,外汇,商品期货,数字货币和宏观经济领域,包括实时报价(tick)和历史数据(分钟),提供REST API和Websocket两种接入方式,能够满足金融分析师,量化交易和理财app的需求。

需要金融数据?利用蜂鸟API将数据整合到您的应用

如果您准备好了,请登录蜂鸟官网,注册免费获取API**,然后开始探索我们的金融数据库吧。

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

智能推荐

Jupyter Notebook的使用

命令模式 (按键 Esc 开启) Enter : 转入编辑模式 Shift-Enter : 运行本单元,选中下个单元 Ctrl-Enter : 运行本单元 Alt-Enter : 运行本单元,在其下插入新单元 Y : 单元转入代码状态 M :单元转入markdown状态 R : 单元转入raw状态 1 : 设定 1 级标题 2 : 设定 2 级标题 3 : 设定 3 级标题 4 : 设定 4 级标...

jupyter notebook的使用

1.Jupyter Notebook 的快捷键 Jupyter Notebook有两种键盘输入模式。 编辑模式,允许你往单元中键入代码或文本;这时的单元框线是绿色的。 命令模式,键盘输入运行程序命令;这时的单元框线是灰色。 1.11.1 命令模式 (按键 Esc 开启) 命令 意义 Enter 转入编辑模式 Shift-Enter 运行本单元,选中下个单元 Ctrl-Enter 运行本单元 Alt...

Jupyter Notebook的使用

文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 1. 介绍 Jupyter Notebook有两种不同的键盘输入模式。编辑模式允许输入代码/文本到一个单元格中,并以绿色单元格边框表示,此时命令模式的快捷键不起作用。命令模式将键盘绑定到计算机级别的操作,并由具有蓝色左边距的灰色单元格边框指示,可以用快捷键命令运行单元格,移...

Jupyter Notebook使用方法和技巧

文章目录 1、安装Jupyter Ubuntu安装jupyter 2、在固定的conda环境下使用Jupyter并且调试时使用对应环境 2.1linux上使用Jupyter 2.2 Windows上使用Jupyter 3、使用方法 3.1 获得帮助 **??:快速查看源码** 3.2 TAB:自动补全 3.3 Magic Commands %paste and %cpaste:复制粘贴自动整理格式...

冒泡排序,及改进方式,性能优化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__,硬盘也没有了,但是切换分支的时候依然是会提示本地重写的情况。 提示:需要我在切换分支之前,提交一次更新。 提交了更新之后,再来尝试切换分支,如下: 成功了,说明当做了任何变更之后,切换分支前需要执...