1 简介

  jupyter notebookjupyter lab作为广受欢迎的ide,尤其适合开展数据分析相关工作,而掌握它们相关的一些实用技巧,势必会大大提升日常工作效率。而今天我就来给大家介绍9个非常实用的jupyter小技巧~

图1

2 9个jupyter实用技巧

2.1 在同一个output里显示多个输出结果

  我们都知道,在jupyter中同一个cell内,如果不使用print等函数,那么就只有最后一个调用的变量结果会被打印显示出来:

图2

  而只要配合ipython执行下列代码之后,就可以实现多输出结果的打印:

from IPython.core.interactiveshell import InteractiveShell

InteractiveShell.ast_node_interactivity = 'all'

图3

  可以看到,这时我们无论输出几个元素都会被打印出来非常方便~

2.2 在单元格中直接执行终端命令

  在jupyter中我们可以利用!加上终端命令的形式,在单元格中直接执行命令,非常的方便(但要注意如果有需要输入y/n确认等情况,请把类似-y的参数带上否则无法继续):

图4

2.3 利用%who列出当前所有变量名

  有些情况下,我们需要搞清楚当前kernel下有哪些已被创建的变量,这时魔法命令%who就非常实用:

图5

  也可以带上参数输出指定类型的变量名:

图6

2.4 使用多光标模式

  很多情况下,我们针对同一个单元格内的代码,要修改的地方比较多的话,就可以配合jupyter中的多光标模式,譬如按住ctrl键点击不同的地方:

图7

  或者按住alt迅速矩形选择(会按照每行相同字符数进行选择):

图8

2.5 给自己的程序设置一个闹钟

  当我们的一段程序需要运行较长时间时,我们往往不会干守着它运行完成,这时可以利用一些小技巧,在程序运行完成后给自己响起闹钟提示,譬如在windows下可以参考下面的例子设置,大家可以亲自试一试非常的有意思~:

import winsound
import time # 假装执行耗时任务
time.sleep(10) duration = 3000 # 3000毫秒即3秒
freq = 440 # 设置响声频率 # 闹钟响起
winsound.Beep(freq, duration)

2.6 针对API进行模糊查询

  有些时候我们在编程时可能会忘记某个函数或方法的全称,只依稀记得其中的某个单词或片段,这种情况下我们就可以参考下列方式使用*通配符进行模糊查询:

图9

2.7 设置显示行标号

  jupyter默认情况下是不显示代码行标的,这在我们执行出错之后很是不好寻找到底是哪一行出错,事实上我们可以通过设置来解决这个问题,譬如jupyter lab中设置方式如下:

图10

2.8 阻止matplotlib多余文字内容输出

  我们在用matplotlib绘图时一定遇到过显示图像的同时跟着输出了一段文字,这是因为matplotlib的很多API是有返回值的,因此我们只需要最后一行末尾加上;阻止输出即可:

图11

2.9 配合watermark自动打印版本信息

  在很多情况下,我们书写代码导入各种三方库之后,会习惯性的打印出各种版本信息,从而辅助之后的代码复用,这种情况下我们就可以配合watermark来自动帮我们干这些事。

  利用pip install watermark安装完成后,就可以参照下面的方式给自己的notebook添加各种记录信息~

图12


  以上就是本文的全部内容,欢迎在评论区与我进行讨论~

秒啊,速来get这9个jupyter实用技巧的更多相关文章

  1. liunx速查

    文件和目录 Linux 主要目录速查表 /:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始 当在终端里输入 /home,其实是在告诉电脑,先从 /(根目 ...

  2. 体验阿里云SSD云盘+ECS(I/O优化)的性能

    阿里云推出SSD云盘+I/O优化的ECS已有一段时间,这个功能优化可以为ECS服务器与SSD云盘提供更好的网络能力.据阿里云官网介绍,SSD云盘最高提供20000次随机读写IOPS.256MB/S吞吐 ...

  3. NeHe OpenGL教程 第三十五课:播放AVI

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. MPlayer

    名称   mplayer − 电影播放器 mencoder − 电影编解码器 概要   mplayer [选项] [文件|URL|播放列表|−] mplayer [选项] 文件1 [指定选项] [文件 ...

  5. 【录教程必备】推荐几款屏幕录制工具(可录制GIF)

    我们经常会遇到一些场景,需要你向别人展示一些操作或是效果——例如告诉别人某某软件的配置步骤啊.刚设计出来网站的动画效果怎么样啊.某某电影里面的一个镜头多么经典啊.打得大快人心的NBA绝杀瞬间是怎么回事 ...

  6. 冲顶大会APP技术选型及架构设计

    我在1月4日看到虎嗅推送"王思聪撒币"的消息,然后开始推敲背后技术.其中涉及直播流.实时弹幕.OAuth2.0开放授权.SMS api.Push网关.支付接口等业务,其技术实现并不 ...

  7. 教你快速录制gif动图

    我们经常会遇到一些场景,需要你向别人展示一些操作或是效果——例如告诉别人某某软件的配置步骤啊.刚设计出来网站的动画效果怎么样啊.某某电影里面的一个镜头多么经典啊.打得大快人心的NBA绝杀瞬间是怎么回事 ...

  8. python 常忘代码查询 和autohotkey补括号脚本和一些笔记和面试常见问题

    笔试一些注意点: --,23点43 今天做的京东笔试题目: 编程题目一定要先写变量取None的情况.今天就是因为没有写这个边界条件所以程序一直不对.以后要注意!!!!!!!!!!!!!!!!!!!!! ...

  9. 开发人员不可不看的 OBD通讯协议知识

    OBD-II Network Standards» J1850 VPW– Adopted by GM; also known as Class 2.– Adopted by Chrysler (kno ...

随机推荐

  1. uni-app 顶部tabbar切换

    完成样式 项目地址:https://gitee.com/jielov/uni-app-tabbar 顶部tabbar代码 <!--顶部导航栏--> <view class=" ...

  2. 【老孟Flutter】为什么 build 方法放在 State 中而不是在 StatefulWidget 中

    老孟导读:此篇文章是生命周期相关文章的番外篇,在查看源码的过程中发现了这一有趣的问题,欢迎大家一起探讨. Flutter 中Stateful 组件的生命周期:http://laomengit.com/ ...

  3. 【Java基础】面向对象上

    面向对象上 这一章主要涉及 Java 类及类的成员,包括属性.方法.构造器:代码块.内部类. 面向过程与面向对象 面向过程(Procedure Oriented Programming,POP)与面向 ...

  4. 【C++】《C++ Primer 》第十九章

    第十九章 特殊工具与技术 一.控制内存分配 1. 重载new和delete new表达式的工作机理: string *sp = new string("a value"); //分 ...

  5. Linux调整lvm逻辑分区大小

    转载自:https://www.cnblogs.com/kevingrace/p/5825963.html  个人记录一下   Linux下对lvm逻辑卷分区大小的调整(针对xfs和ext4不同文件系 ...

  6. 怎么判断是旧版本的ext3还是新版本?

    怎么判断是旧版本的ext3还是新版本的?   ---高性能419

  7. Windows Server 2012 R2远程桌面默认端口修改

    修改3389默认端口可使服务器安全性进一步提升,可以避免阻断大部分的恶意暴力密码爆破. 在开始--运行菜单里,输入regedit 或者: 远程登陆服务器选择系统桌面中的"Windows Po ...

  8. Cloudera Manager添加主机节点

    为了监控方便,想把研发环境中的主机节点都纳入Cloudera Manager的管理中,这样在遇到问题时可方便的查看主机的硬件资源情况. 添加主机节点有多种方式,由于我是离线工作,所以选择rpm包的方式 ...

  9. 如何在K8s,Docker-Compose注入镜像Tag

    最近在做基于容器的CI/CD, 一个朴素的自动部署的思路是: 从Git Repo打出git tag,作为镜像Tag ssh远程登录到部署机器 向部署环境注入镜像Tag,拉取镜像,重新部署 下面分享我是 ...

  10. Mybatis plus通用字段自动填充的最佳实践总结

    在进行持久层数据维护(新增或修改)的时候,我们通常需要记录一些非业务字段,比如:create_time.update_time.update_by.create_by等用来维护数据记录的创建时间.修改 ...