转自:机器之心

Jupyter Notebook 是所有开发者共享工作的神器,它为共享 Notebooks 提供了一种便捷方式:结合文本、代码和图更快捷地将信息传达给受众。目前,Jupyter Notebook 已经应用于数据分析和数据科学等领域。
然而,大部分开发者仅仅了解其皮毛。开发者使用 Jupyter Notebook 的基本功能来写 Python 代码、展示图。但是你们知道 Jupyter 中还有大量自定义功能吗?这些很酷的选项可以帮助你使用 Jupyter notebook 更高效地写代码、展示图。
本文将介绍强化 Jupyter Notebook 功能的 4 种方法。
1. 执行 Shell 命令
在技术或编程文本中,shell 表示使用文本与计算机进行交互的方式。最流行的 Unix shell 是 Bash(Bourne Again SHell),Bash 是 Linux 机器上终端默认的 shell。
在使用 Python 工作时,你会经常在写 Python 代码和使用 shell 命令之间来回切换。例如,你想使用 Python 读取磁盘中的某份文件,而这需要你确认文件名。通常情况下,你需要在终端输入 ls,获得当前目录的所有文件和文件夹列表。但这样来回切换非常繁琐低效。
很炫酷的是,Jupyter 能够执行 Shell 命令,你甚至无需离开浏览器。只需要在 shell 命令前加一个感叹号!,Jupyter 会将其转换为 Bash。在任一命令前加感叹号!,它们就可以在 Python Jupyter Notebook 中运行。
# Listing folder contents>>> !lsmynotebook.ipynb stuff.txt# Getting the current directory>>> !pwd/home/george/github/project_1# Printing from Bash >>> !echo "Pizza is delicious!"Pizza is delicious!

我们还可以将 shell 命令的输出分配给 Python 变量,如下所示:
# Getting the current directory. # The variable "X" now contains ["/home/george/github/project_1"]X = !pwd

2. 更换主题

很多文本编辑器和编程 IDE 都有自定义主题。开发者最喜欢的主题之一是暗黑主题(如 monaki),因为对于整天盯着屏幕的开发者而言,暗黑主题看起来比较舒适。幸运的是,Jupyter 有一个插件,允许用户自行选择主题。
要想安装该插件,你只需在终端中运行以下 pip 命令:
pip install jupyterthemes

运行以下命令,可得到可用的主题列表:
jt -l

截至本文写作时,可选择的主题包括:
chesterishgrade3gruvboxdgruvboxlmonokaioceans16onedorksolarizeddsolarizedl

查看这些主题,如下图所示,我们拥有大量不同的颜色选择。

solarizedd(左),gruvboxl(中),grade3(右)。
3. Notebook 扩展插件
Jupyter Notebook 扩展插件(nbextensions)是一些 JavaScript 模块,你可以使用它们强化 Notebook 的功能以及使用。扩展插件本质上修改了 Jupyter UI,以实现更稳健的功能。
我们首先通过 pip 安装 nbextensions:
pip install jupyter_contrib_nbextensions jupyter contrib nbextension install


安装完成后,启动 Jupyter。你将看到一个新选项——NBextensions。选择它之后,你会看到大量 Jupyter Notebook 扩展插件选项。

通过快速搜索,你可以查看这些扩展插件的功能。下面我将介绍几个最重要的插件。
Table of Contents
正如其名称所描述的那样,Table of Contents 基于 notebook 中 # 创建的标题自动生成目录。例如,我在 notebook 中创建了以下标题:
# This is a super big title## This is a big title### This is a medium title#### This is a small title

则左侧会生成目录。双击标题,可链接至对应章节内容。当 notebook 规模很大,选项很多时,这个功能非常方便!

Hinterland
代码补全是大部分 IDE 都具备的常见功能,比如 PyCharm。开发者喜欢这个功能,因为这使得他们的工作更加简单,开发者无需记住每一个命令,IDE 会准备好一切。
Hinterland 可在 Jupyter Notebook 内完成代码补全。在键入过程中,你会看到一些代码补全建议。尤其是当你搜索外部库的命令时(示例如下所示)。这简直太方便了!

拆分单元格(Split Cells)
拆分单元格允许开发者并排查看 2 个单元格。当你有两个相关单元格时(比如描述及其对应的图示),这个功能非常方便。

4. 使用 Qgrid 探索 Dataframes
最后一站是 Qgrid,该工具允许开发者在不使用复杂 Pandas 代码的情况下,探索和编辑数据帧。Qgrid 可在 Jupyter notebook 中以交互的方式渲染 pandas 数据帧,这样你就可以执行一些直观的控制,如滚动、排序和筛选,以及双击单元格编辑数据帧。
我们首先安装 Qgrid:
pip install qgridjupyter nbextension enable --py --sys-prefix widgetsnbextension
要想使用 Qgrid 渲染数据帧,开发者只需导入 Qgrid,然后将数据帧输入到 show_grid 函数:
import qgridqgrid_widget = qgrid.show_grid(df, show_toolbar=True)qgrid_widget

这样,你可以对数据帧执行大量交互式操作:
  • 添加和删除行;

  • 筛选行;

  • 编辑单元格。

将更多参数输入 show_grid 函数可以执行其他交互式操作。关于 Qgrid 的全部功能,参见:https://github.com/quantopian/qgrid。


以上就是强化 Jupyter Notebook 功能的 4 种方法。

原文链接:https://towardsdatascience.com/4-awesome-tips-for-enhancing-jupyter-notebooks-4d8905f926c5

零基础学 Python,来这里

只需7天时间,跨进Python编程大门,已有3800+加入

【基础】0基础入门python,24小时有人快速解答问题;
【提高】40多个项目实战,老手可以从真实场景中学习python;
【直播】不定期直播项目案例讲解,手把手教你如何分析项目;
【分享】优质python学习资料分享,让你在最短时间获得有价值的学习资源;圈友优质资料或学习分享,会不时给予赞赏支持,希望每个优质圈友既能赚回加入费用,也能快速成长,并享受分享与帮助他人的乐趣。
【人脉】收获一群志同道合的朋友,并且都是python从业者
【价格】本着布道思想,只需 69元 加入一个能保证学习效果的良心圈子。

【赠予】后续圈主将开发python,0基础入门在线课程,免费送给圈友们,供巩固和系统化复习

(三重福利)最近入圈送大礼包:

1、2.7G、308份最新数据分析报告
2、40G 人工智能算法  视频课
3、Python爬虫课,共14课

更多精彩

在公众号后台对话框输入以下关键词

查看更多优质内容!

PM2.5 | 世界杯 | 惊喜 | 附书代码

觉得不错,请把这篇文章分享给你的朋友

转载 / 投稿请联系:data_circle_yoni

● 总结 Python 的4张超大思维导图,一定不要错过哦

● 知乎13万赞!为何很多名校毕业生,都输在了人生后半程

● 【连载】小白轻松学Python ---- 到底如何入门  Python?

● 怎么才能自学成 Python 大牛?这有些建议

● Python打牢基础,从22个语法开始!

● 手把手 | 爬取京东评论,且修改网址直接可复用哦(送代码)

● 为何“Python 之父” 力荐的小蓝书火了?

● Python实战 | 只需 ”三步“ 爬取二手iphone手机信息(转发送源码)

● 做数据分析不得不看的书有哪些?

● Python实战 | 手把手教你爬取豆瓣电影 Top 250(附全部代码)

增强 Jupyter Notebook 的功能,这里有 4 个妙招相关推荐

  1. 增强 Jupyter Notebook 的功能,这里有四个妙招

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 你对 Jupyter Notebook 了解多少?本文介绍了一些自 ...

  2. Jupyter notebook教程系列(三)Jupyter notebook拓展功能

    Jupyter notebook拓展功能 一. 关联conda的环境和包 在终端输入下面命令安装: conda install nb_conda 具体页面和操作如下图所示: 图1-1(图片来源于网络) ...

  3. Jupyter Notebook 开发指南

    1. Jupyter Notebook介绍 图1 Jupter项目整体架构 [https://docs.jupyter.org/en/latest/projects/architecture/cont ...

  4. 数据分析利器Jupyter Notebook!

    大家好,我是Peter~ 很多读者问过我,Peter文章中的Python代码都是用的什么编辑器写的? 今天就公开啦:Jupyter Notebook,没有Pycharm,没有Vscode,没有Subl ...

  5. 左手程序员,右手作家:你必须会的Jupyter Notebook

    Python·Jupyter Notebook各种使用方法记录·持续更新 一. Jupyter NoteBook的安装 1.1 新版本Anaconda自带Jupyter 目前,最新版本的Anacond ...

  6. Python安装Jupyter Notebook配置使用教程

    原文见:https://blog.csdn.net/qq_27825451/article/details/84427269 一.什么是jupyter 1.简介: jupyter notebook是一 ...

  7. 微软发布VS Code Jupyter插件!不止Python!多语言的Jupyter Notebook支持来了!

    北京时间 2020 年 11 月 12 日,微软发布了全新的 VS Code Jupyter 插件!Jupyter 插件将 Jupyter Notebook 的功能引入 VS Code,并且将会支持更 ...

  8. 微软发布 VS Code Jupyter 插件!不止 Python,多语言的 Jupyter Notebook支持来了!

    作者 | formulahendry 来源 | 玩转VS Code(ID:vs_code) 头图 |  CSDN 下载自东方IC 北京时间 2020 年 11 月 12 日,微软发布了全新的 VS C ...

  9. Jupyter Notebook 的安装与使用

    目录 1.jupyter Notebook 简介 2.jupyter Notebook 的安装 安装前提 pip 安装 pip 源 3.设置jupyter notebook 设置代码文件存放目录 Ta ...

最新文章

  1. Windows7 Home高级 64 中文版 + TortoiseSVN 64 英文版 + SVN Server 32 英文版安装过程
  2. python插件安装错误解决办法之SyntaxError: from __future__ imports must occur at the beginning of the file原因
  3. ME2N标准报表中加EKKO/EKPO中没显示的字段
  4. android palette组件用法,Android Support Palette使用详解
  5. linux环境下java开发_Linux Ubuntu系统下Java开发环境搭建
  6. HDU 5510 Bazinga
  7. 手动创建git忽略push清单,node_module以及自身
  8. yii2-更改默认显示的通用主页
  9. 如何快速将一个lista集合中的部分字段值组合成新的的listb部分*
  10. NLP对放射科医生的评价
  11. Restorator软件使exe文件都不能打开,exe不支持此接口
  12. Axure RP 9 原型图的绘制及交互
  13. vmware虚拟机WinXp sp3的系统cpu占用100%的解决方案
  14. 修改文件类型(txt文件改为bat、sh文件)
  15. 英文论文检索数据库以及英文文献下载
  16. Maya Mel GUI入门
  17. 大数据清洗与预算第三章
  18. 历史在重演:从KHTML到WebKit,再到Blink(转)
  19. 解决win10系统CPU占用过高【亲测非常有效】
  20. 程序员小灰的算法总结

热门文章

  1. Python语法之函数
  2. express 4.x API 及简单示例
  3. 2019年燕山大学大学生程序设计大赛(一)
  4. 我的微信小程序入门学习-地图定位
  5. 天龙八部怀旧服务器维护,新天龙八部怀旧服 2月18日全服更新维护公告
  6. java中子类会继承父类的构造方法吗
  7. 网络安全学习记录-9
  8. python代码学习1
  9. 关键信息基础设施确定指南_ISMS-考题答疑:哪些是关键信息基础设施?
  10. Arduino深色主题