当前位置:   article > 正文

2024年最全Python编程神器Jupyter Notebook使用的28个秘诀_jupyter notebook好用的功能

jupyter notebook好用的功能

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入


引言


最近做实验一直是用Jupyter Notebook编程,有一种打草稿的便捷感,在dataquest上看到一篇博客总结了28种Jupyter Notebook的使用技巧。为了方便大家理解,对原文一个简略的地方进行了适当的解释和扩充。希望大家在用Jupyter Notebook编程时可以更加爽快。

Jupyter Notebook是什么


Jupyter Notebook,以前称为IPython Notebook,是一种灵活的python编程工具,可以用来创建可读的分析。在Jupyter Notebook上可以将代码、图像、注释、公式和可视化结果保存在一起。在这篇文章中,我们介绍了一些非常实用的Jupyter Notebook高级使用技巧,让Jupyter Notebook成为你编程的超级利器!

在这里插入图片描述

1.实用的快捷键

Jupyter Notebook有很多的快捷键,编程时使用这些快捷键将提高你的编程效率。想知道Jupyter Notebook有哪些快捷键,你可以在它的下拉菜单Help>Keyboard Shortcuts中找到。或者在command model中按下H查看。每次更新Jupyter的时候你都最好看看有哪些新的快捷键。

还有一个方法调用快捷键,那就是使用Ctrl + Shift + P 调出command palette。在这个对话框中你可以输入快捷功能的名字来使用快捷键,比如你想重启kernel,那就在对话框中输入’restar’,command palette会自动显示候选的功能。这个功能类似Mac上的Spotlight工具。

我的一些常用快捷键:

  • Esc进入command mode

  • command mode下:A/B可以在上/下方插入新的cell,M切换到Markdown模式下,Y切回编程模式,D+D删除当前cell

  • Entercommand mode返回edit mode

  • Shift + Tab会显示你刚才输入对象的文档

  • Ctrl + Shift + -将会分割你的cell

  • Esc + F查找替换代码(不包含输出部分)

  • Esc + O隐藏cell的输出

  • 你还可以选对多个cell进行操作:Shift + JShift + Down向下选择,Shift + KShift + Up向上选择,Shift + M合并多个cell

2.整齐的变量输出

当你的cell最后是一个变量名,那么你不需要用print就可以输出了。特别是你要输出Pandas DataFrames的时候,这很有用。

不过我要教你一个少有人知道的技巧,指定ast_note_interactivity参数为all来一次性输出多个变量而不用print。

from IPython.core.interactiveshell import InteractiveShell

InteractiveShell.ast_node_interactivity = “all”

from pydataset import data

quakes = data(‘quakes’)

quakes.head()

quakes.tail()

输出的效果是将head和tail都输出,而不是只有tail输出

如果你希望所有Jupyter 的cell都这样输出,创建一个文件~/.ipython/profile_default/ipython_config.py并输入以下代码:

c = get_config()

Run all nodes interactively

c.InteractiveShell.ast_node_interactivity = “all”

3.快速链接文档

你可以在Help菜单中看到一些常用库,如NumPy, Pandas, SciPy and Matplotlib的文档。不过你还可以在方法前面加?来查看对应的文档。

执行下面这行代码在Jupyter Notebkook中

?str.replace()

将显示文档

Docstring:

S.replace(old, new[, count]) -> str

Return a copy of S with all occurrences of substringold replaced by new. If the optional argument count isgiven, only the first count occurrences are replaced.

Type: method_descriptor

4.在notebooks中绘图

常用的绘图库包括:matplotlib, Seaborn, mpld3, bokeh, plot.ly, Altair

5-15.魔法命令

由于Jupyter是基于IPython内核的,所以Jupyter可以使用IPython内核中的Magics命令。

可以使用%lsmagic查看所有的magic命令。

  • %env,设置环境变量

你可以管理notebook的环境变量,而无需重新启动Jupyter服务器进程。有些库(比如theano)使用环境变量来控制行为,%env是最方便的方法。

Running %env without any arguments

lists all environment variables

The line below sets the environment

variable

%env OMP_NUM_THREADS%env OMP_NUM_THREADS=4

output

env: OMP_NUM_THREADS=4

  • %run,执行python代码

有时候你有一份已经写好的*.py文件,你可以在Jupyter中执行它。

this will execute and show the output from

all code cells of the specified notebook

%run ./two-histograms.ipynb

  • %load,导入外部脚本。

有时候你想运行一个外部脚本,但是想用Jupyter加一些代码,那么你可以先把它load进Jupyter。

你有一个hello_world.py文件

内容是if name == “main”: print(“Hello World!”)

在Jupyter中先用%load载入

%load ./hello_world.py

运行%load ./hello_world.py命令后,在你的cell中就出现以下几行代码(你执行的%run语句会显示已经注释)

%load ./hello_world.py

if name == “main”:

print(“Hello World!”)

  • %store,在notebook之间传递变量。

在notebook A 中

data = ‘this is the string I want to pass to different notebook’

%store data

del data # This has deleted the variable

在notebook B 中

%store -r data

print(data) # 显示this is the string I want to pass to different notebook

  • %who,显示所有的变量

某个cell中有以下四行代码

one = “for the money”

two = “for the show”

three = “to get ready now go cat go”

%who str

输出为

one three two

  • %%time%timeit

%%time将提供代码单次运行的信息,%%timeit将默认运行你的代码100,000次,提供最快运行三次的平均结果。

  • %%writefilepycat,导出单元格的内容/显示外部脚本的内容

%%writefile保存cell内容到外部文件。%pycat正好相反。

  • %prun,显示程序中每个函数的调用信息

  • %pdb,代码调试

  • 为视网膜(Retina)屏输出高分辨率图像

常规图像

x = range(1000)

y = [i ** 2 for i in x]

plt.plot(x,y)

plt.show();

视网膜(Retina)图像

%config InlineBackend.figure_format =‘retina’

plt.plot(x,y)

plt.show();

16.在函数末尾加入分号可以抑制输出

在函数末尾加分号可以抑制函数的输出。

17.执行shell命令

在shell命令前面加

一些例子

!ls *.csv

!pip install numpy

!pip list | grep pandas

18.在markdown cell 中书写LaTeX时,它会被 MathJax 渲染成一个公式

19.在一个notebook中运行多种kernel的代码

如果想要的话,你可以在一个notebook中运行多种kernel的代码

在每个cell的开头使用相关的魔法命令来声明你想使用的 kernel。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/752349
推荐阅读
相关标签
  

闽ICP备14008679号