前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你不知道的Jupyter Notebook的4个很棒的技巧

你不知道的Jupyter Notebook的4个很棒的技巧

作者头像
HuangWeiAI
发布2019-11-15 20:48:48
1.6K0
发布2019-11-15 20:48:48
举报
文章被收录于专栏:浊酒清味浊酒清味

原文:

https://towardsdatascience.com/4-awesome-tips-for-enhancing-jupyter-notebooks-4d8905f926c5

对于所有希望分享自己工作成果的开发人员来说,Jupyter Notebook是一个非常棒的工具。它们提供了一种共享笔记本的简单方式——文本、代码和图形的组合,旨在增强我们向受众传达信息的方式。它们广泛应用于数据分析和数据科学等领域。

然而,我们大多数人实际上只是知道Jupyter Notebook的皮毛。我们使用编写Python代码和显示图形的基本特性。但是你知道吗?Jupyter Notebook上有很多可定制的特性可以增强它的功能。酷的选择,可以使你的Jupyter Notebook写得更有效率,更有效的表达。

这里有4个提高Jupyter Notebook的妙招!

01

执行Shell命令

技术/编程环境中的shell是一种与计算机进行文本交互的方式。最流行的Unix shell是Bash(又是Bourne shell)。Bash是您可以在任何Linux机器上找到的终端的默认shell。

在使用Python时,经常需要在编写Python代码和使用shell之间来回切换。例如,您可能希望使用Python从磁盘读取某个文件,因此需要检查确切的名称。通常情况下,您只需转到终端,输入ls,就可以得到当前目录下所有文件和文件夹的列表。来回切换是非常乏味和低效的。

真正酷的是,Jupyter能够执行shell命令,而不需要离开浏览器。您所要做的就是在shell命令之前加上一个感叹号!在命令行上工作的任何命令都可以在Python Jupyter笔记本中使用。

代码语言:javascript
复制
# 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变量,如下面的代码所示。

代码语言:javascript
复制
# Getting the current directory. # The variable "X" now contains ["/home/george/github/project_1"]X = !pwd

02

更换主题

许多文本编辑器和编程器都有可定制的主题。最受欢迎的一款是色调较暗的主题,比如monaki,因为当你整天盯着屏幕时,眼睛会感觉更舒服。幸运的是,Jupyter有一个允许选择主题的插件。

要安装插件,只需在你的终端运行pip命令:

代码语言:javascript
复制
pip install jupyterthemes

你可以这样列出可用的主题:

代码语言:javascript
复制
jt -l

在撰写本文时,可以找到以下主题:

代码语言:javascript
复制
chesterishgrade3gruvboxdgruvboxlmonokaioceans16onedorksolarizeddsolarizedl

看看下面展示的一些。许多漂亮的色彩选择!

gruvboxl

solarizedd

grade3

03

Notebook扩展

Jupyter Notebook扩展- nbextensions是JavaScript模块,你可以用来增强功能和使用笔记本。这些扩展本质上修改了Jupyter UI以获得更健壮的功能。

我们将通过pip安装nbextensions:

代码语言:javascript
复制
pip install jupyter_contrib_nbextensions jupyter contrib nbextension install

安装完成后,启动Jupyter。您将看到一个名为nbextense的新选项卡。一旦你选择它,你会看到许多木星笔记本扩展选项!

您可以通过快速的谷歌搜索来查找这些扩展。我在下面强调了一些最有用的。

(1)目录

正如其名所描述的,目录根据标签#在记事本中创建的标题为您的记事本自动生成一个目录。例如,我在下图中创建的标题如下:

代码语言:javascript
复制
# This is a super big title## This is a big title### This is a medium title#### This is a small title

左边的目录生成得很好。表格中的每个标题都有一个链接,双击就可以直接进入该部分。这是超级方便的时候,你的笔记本开始变大,你有许多章节:

(2)代码提示Hinterland

代码补全是大多数编辑器中非常常见的特性,特别是Python的PyCharm。开发人员喜欢它,因为它使他们的工作更容易,不必记住每一个命令,因为他们知道他们的IDE将为他们清理东西。

Hinterland允许在Jupyter Notebook中自动完成代码。当你打字时,建议就会呈现在你面前。这在您从外部库搜索命令时是最值得注意的,如下面的示例所示。超级方便!

(3)拆分单元格

拆分单元格允许您并排查看两个单元格。当你有2个相关的单元格时,这是非常方便的,例如一个描述和它所引用的可视化。

04

使用Qgrid探索数据框架

我们的最后一站是Qgrid,这是一个工具,它允许您在不使用任何复杂的Pandas代码的情况下探索和编辑您的数据流。

Qgrid在你的Jupyter notebook中以交互的方式呈现Pandas数据。通过这种呈现,您可以使用滚动、排序和筛选等直观的控件,还可以通过双击所需的单元格来编辑数据aframe。

让我们开始安装Qgrid:

代码语言:javascript
复制
pip install qgridjupyter nbextension enable --py --sys-prefix widgetsnbextension

要使用Qgrid呈现数据aframe,只需导入它,然后将数据aframe传递给show_grid函数,如下所示:

代码语言:javascript
复制
import qgridqgrid_widget = qgrid.show_grid(df, show_toolbar=True)qgrid_widget

这样做将显示dataframe与许多交互选项:

  • 添加和删除行
  • 过滤行
  • 编辑单元格

还可以通过向show_grid函数传递更多参数来启用更多的交互选项。你可以在官方的GitHub页面上阅读更多关于Qgrid完整功能的细节。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-15,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 Python与机器学习之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com