高效使用Jupyter Notebook的15个技巧
在数据科学领域,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**,然后开始探索我们的金融数据库吧。
智能推荐
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__,硬盘也没有了,但是切换分支的时候依然是会提示本地重写的情况。 提示:需要我在切换分支之前,提交一次更新。 提交了更新之后,再来尝试切换分支,如下: 成功了,说明当做了任何变更之后,切换分支前需要执...
