当前位置: 首页 > 科技观察

增强JupyterNotebook功能,这里有四个妙招

时间:2023-03-20 18:02:23 科技观察

JupyterNotebook你了解多少?本文介绍了一些自定义功能,可帮助您使用Jupyternotebook更高效地编写代码。JupyterNotebook是所有开发者共享工作的神器。它提供了一种便捷的笔记本共享方式:将文本、代码和图表结合起来,更快速地将信息传达给受众。目前,JupyterNotebook已经应用于数据分析、数据科学等领域。然而,大多数开发人员只触及表面。开发者使用JupyterNotebook的基本功能编写Python代码和展示图表。但是你们知道Jupyter中有大量的自定义功能吗?这些很酷的选项可以帮助您使用Jupyter笔记本更高效地编写代码和显示图表。本文将介绍4种增强JupyterNotebook功能的方法。1.执行Shell命令在技术或编程文本中,shell表示一种使用文本与计算机交互的方式。最流行的Unixshell是Bash(BourneAgainSHell),它是Linux机器上的默认终端shell。在使用Python工作时,您会经常在编写Python代码和使用shell命令之间来回切换。比如你想用Python读取磁盘上的一个文件,这就需要你确认文件名。通常,您需要在终端中键入ls以获取当前目录中所有文件和文件夹的列表。但是这样来回切换是非常麻烦和低效的。最酷的是,Jupyter可以在您甚至不离开浏览器的情况下执行shell命令。直接打个感叹号!在shell命令前面,Jupyter会将其转换为Bash。打个感叹号!在任何命令前面,它们将在PythonJupyterNotebook中运行。#Listingfoldercontents>>>!lsmynotebook.ipynbstuff.txt#Gettingthecurrentdirectory>>>!pwd/home/george/github/project_1#PrintingfromBash>>>!echo“披萨真好吃!”披萨真好吃!我们还可以将shell命令的输出分配给Python变量,像这样:#Gettingthecurrentdirectory.#Thevariable"X"nowcontains["/home/george/github/project_1"]X=!pwd2.改变主题许多文本编辑器和编程IDE具有自定义主题。开发人员最喜欢的主题之一是深色主题(如monaki),因为对于整天盯着屏幕的开发人员来说,它看起来更舒服。幸运的是,Jupyter有一个插件可以让用户选择自己的主题。要安装插件,您只需在终端中运行以下pip命令:pipinstalljupyterthemes运行以下命令以获取可用主题列表:jt-l在撰写本文时,可用主题包括:chesterishgrade3gruvboxdgruvboxlmonokaioceans16onedorksolarizeddsolarizedl检查主题,如下图所示,我们有大量不同颜色的选择。solarized(左)、gruvboxl(中)、grade3(右)。3.Notebook扩展JupyterNotebook扩展(nbextensions)是一些JavaScript模块,您可以使用它们来增强Notebook的功能和使用。扩展本质上是修改JupyterUI以获得更强大的功能。我们首先通过pip安装nbextensions:pipinstalljupyter_contrib_nbextensionsjupytercontribnbextensioninstall安装完成后,启动Jupyter。您将看到一个新选项-NBextensions。选择它之后,您将看到大量可供选择的JupyterNotebook扩展。通过快速搜索,您可以查看这些扩展程序的作用。下面我将介绍几个最重要的插件。目录顾名思义,目录会根据笔记本中创建的标题#自动生成目录。例如,我在笔记本中创建了以下标题:#Thisasuperbigtitle##Thisisabigtitle###Thisamediumtitle######Thisisamalltitle左侧将生成一个目录。双击标题链接到相应的章节内容。当你有一个有很多选项的大笔记本时,这非常方便!Hinterland代码完成是大多数IDE中的一个常见功能,例如PyCharm。开发人员喜欢这个特性,因为它使他们的工作更轻松,开发人员不需要记住每一个命令,IDE会准备好一切。Hinterland在JupyterNotebook中提供代码补全。在您键入时,您会看到一些代码完成建议。特别是当您从外部库中搜索命令时(示例如下所示)。简直太方便了!SplitCellsSplitCells允许开发人员并排查看2个单元格。当您有两个相关的单元格(例如描述及其对应的图标)时,此功能非常方便。4.使用Qgrid探索数据框最后一站是Qgrid,这是一种允许开发人员探索和编辑数据框而无需使用复杂的Pandas代码的工具。Qgrid在Jupyternotebook中以交互方式呈现pandas数据框,因此您可以执行直观的控制,例如滚动、排序和过滤,以及双击单元格来编辑数据框。我们先安装Qgrid:pipinstallqgridjupyternbextensionenable--py--sys-prefixwidgetsnbextension要使用Qgrid渲染数据框,开发者只需要导入Qgrid,然后将数据框输入到show_grid函数中:importqgridqgrid_widget=qgrid.show_grid(df,show_toolbar=True)使用qgrid_widget,您可以对数据框执行许多交互式操作:添加和删除行;过滤行;编辑单元格。可以通过向show_grid函数提供更多参数来执行其他交互操作。Qgrid的所有功能参见:https://github.com/quantopian/qgrid。这些是增强JupyterNotebook功能的4种方法。