知行编程网知行编程网  2022-04-07 08:00 知行编程网 隐藏边栏 |   抢沙发  125 
文章评分 0 次,平均分 0.0

点击上方 菜鸟学Pyhon,选择置顶或星标

第一时间关注 Python 技术干货!


九大神招,让Python里数据分析神器Jupyter,完美升华
Jupyter Notebook作为一款经典的交互式编辑器,在视图数据等实时展示方面有其特有的优势,但是相比pycharm、sublime等编辑工具,Jupyter Notebook在开发过程中又显得有些“笨拙”,今天给大家介绍几个方法,让Jupyter Notebook用起来更加得心应手。

2
技巧篇


6).%debug

调试是写代码不可避免的一个环节,jupyter也有他特有的调试模式——%debug。当代码出现异常后,输入%debug可以直接激活调试器跳到出现错误的地方,在这里还可以查看当前代码的变量情况,下面举个例子来进行说明:
九大神招,让Python里数据分析神器Jupyter,完美升华


上面这段代码由于计算中出现分母为0的情况,所以运行时会报错,这时在下一个单元格中输入%debug指令,jupyter就会进入调试模式。
进入调试模式后会直接跳转到异常发生的位置(下图),同时会出现一个ipdb文本框,这里可以输入变量或特定指令,例如输入程序中的变量a,就会返回当前位置相关的变量值;如果输入指令quit,则会退出调试模式。


九大神招,让Python里数据分析神器Jupyter,完美升华
%debug只是jupyter众多IPython Magic命令中的一个,在juypter中可以使用%lsmagic命令查看所有Magic命令,大家可以根据需要自行选用,这里不再展开介绍。



7).InteractiveShell

我们都知道jupyter中有一个很好用的功能,当把变量名称或没有定义输出结果的语句放在单元格的最后一行,无需print语句,jupyter就会显示变量值,尤其当使用Pandas DataFrames这一数据结构时,输出的结果更加整齐漂亮。
但是这一功能也有其缺点,即默认只能显示最后一行的变量结果,例如下面这段代码,虽然我们要分别查看df的头部数据和尾部数据,但jupyter只能输出尾部数据的结果。
九大神招,让Python里数据分析神器Jupyter,完美升华
其实这个问题解决起来非常容易,只需要使用下面这两行代码修改内核选项即可。
<section style="border-radius: 4px;font-size: 0.85em;margin: 0px 0.15em;background: rgb(40, 44, 52);color: rgb(171, 178, 191);display: block;padding: 6px;overflow-x: auto;white-space: nowrap;line-height: 2em;"><span style="font-size: 15px;"><span class="hljs-default-keyword" style="font-size: 15px;color: rgb(198, 120, 221);background: rgba(0, 0, 0, 0);display: inline;width: 29px;text-decoration: none solid rgb(198, 120, 221);font-weight: 400;font-style: normal;">from</span> IPython.core.interactiveshell <span class="hljs-default-keyword" style="font-size: 15px;color: rgb(198, 120, 221);background: rgba(0, 0, 0, 0);display: inline;width: 43px;text-decoration: none solid rgb(198, 120, 221);font-weight: 400;font-style: normal;">import</span> InteractiveShell</span><br mpa-from-tpl="t"  /><span style="font-size: 15px;">InteractiveShell.ast_node_interactivity=<span class="hljs-default-string" style="font-size: 15px;color: rgb(152, 195, 121);background: rgba(0, 0, 0, 0);display: inline;width: 36px;text-decoration: none solid rgb(152, 195, 121);font-weight: 400;font-style: normal;">'all'</span></span></section>
我们再来看看修改后的运行结果:
九大神招,让Python里数据分析神器Jupyter,完美升华
这样在需要查看多个变量时,就不必再把他们放到不同的单元格中运行了。



8).简单的问号?

没错,就是一个简单的问号“?”,在jupyter中就能实现快捷文档功能,使用方法就是在你想要查看的属性或方法之前加一个?,例如我们要查看python中的str()方法,就可以执行下图中的操作,jupyter会自动弹出一个窗口返回相关信息。
九大神招,让Python里数据分析神器Jupyter,完美升华
除了查看文档之外,这个?还可以查看程序中的变量类型。我们在写代码过程中经常需要查看某个变量是何种数据类型,通常我们会使用type()方法,在jupyter中使用?同样可以实现这一功能,而且返回的信息更加完善。
例如我们想要查看上一条内容中的df变量(下图),可以看到除了会返回数据类型信息之外,还会对该dataframe数据的一些基本信息进行描述,推动右侧的滚动条可以查看更多信息。
九大神招,让Python里数据分析神器Jupyter,完美升华



9).Multicursor

如果我们想让一段代码整体缩进可以把他们全部选中然后按下Tab键,而如果要集中删除一批缩进符,就要用到Multicursor功能了。
在jupyter中使用Multicursor功能,只需要按住Alt键然后拖动鼠标就可以了。通俗来讲,Multicursor的作用就是在普通文本中进行“列操作”,这个概念解释起来比较麻烦,我们就用一个例子来进行演示:
(Gif动画图,多看5秒钟)
可以看到,通过Multicursor功能我们同时选中了多个行中的缩进符并进行了删除操作。



由于篇幅有限,本文仅选取了几个极具代表性和实用性的工具为大家进行了介绍。另外,除了上文中介绍的插件和技巧之外,还有大量为jupyter量身打造的第三方库(例如ipywidgets、profiling等),特别是在进行数据科学相关工作时,这些库能为我们提供极大的便利,这部分内容以后有机会再进行介绍。


近期热门:
3天2100万!周杰伦的说好不哭,20万点评Python来分析
几行Python代码,轻松获取美股阿里巴巴的交易数据


本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享