查看原文
其他

8 个 Jupyter Notebook Tips,隐藏得太深了

刘早起 Python编程时光 2021-08-09
点击上方“Python编程时光”,选择“加为星标
第一时间关注Python技术干货!



如果你想用Python进行数据分析,那么Jupyter notebook是你必须要熟练掌握的工具之一,而Notebook也有很多省时好用的小技巧,本文将分享我在使用Notebook时习惯使用的一些操作!

  1.在Notebook中安装第三方库

有时我们在进行数据分析的过程中,或者是使用一些在线/远程Notebook,需要临时安装一个第三方库,如果从命令行(甚至没有命令行界面)安装后再重启notebook,那么所有进度都将丢失!

这时我们可以使用!pip install xxx 就可以直接在notebook将第三方库安装到本地,比如安装pyecharts

! pip install pyecharts

其实!就是在notebook中执行shell语句的符号,你也可以使用!来执行! ls等任意命令行代码。

  2.在Notebook中使用markdown

以前经常有粉丝让我帮忙给他看代码,发来的.ipynb文件打开后,所有说明性的文字都用#来注释给出,读起来那是一个难受。

其实在Notebook中也可以使用markdown语句,写文字、打公式、贴图片都很轻松,就像上图一样只需要选中目标单元格,然后按下ESC,再按下M即可,也可以在菜单栏将当前单元格转为标签

  3.快速计算运行时间

有时候我们需要计算一些函数或过程运行时间,以此来衡量代码的效率,在其他IDE可能需要写个函数或者使用第三方模块来完成,而在Notebook中,提供了便捷的魔法函数👇

  • %time:在行模式下,代码运行一次所花费的时间
  • %%time:在单元模式下,代码运行一次所花费的时间
  • %timeit:在行模式下,执行代码块若干次,取最佳结果
  • %%timeit:在单元模式下,执行代码块若干次,取最佳结果

这样我们只要敲几下键盘,就能快速得到代码块的运行时间👇

  4.查看当前变量

当我们的代码越写越多,定义的变量越来越多,有时候就容易忘记曾经起过哪些名字,这时候回去翻代码是痛苦的,而在Notebook中,可以使用%who_ls查看当前定义了多少变量

当然也可以指定变量类型查看,比如查看有哪些变量是字符串

  5.一次删除多行

有时候,当我们将别人的代码复制进Notebook后,常常会发生缩进错误就像上图所示的一样,如果我们手动删除红框中的空白,那将会是很无聊的,需要按很多次退格键,这时我们可以按住option(Win下为Alt)键,此时光标会变成字形,现在就可以选中目标区域一次性删除👇

  6.直接获取文档

如果我们需要查看某些函数的用法,可能需要通过百度或者查找官方文档,额外打开很多页面来检索,其实在Notebook中可以使用Shift + Tab直接获取该方法的文档


就像上图一样,直接显示pd.merge的用法,一目了然,点开还能查看更详细的解释👇

  7.加载外部文件

还是魔法命令,使用%load 可以直接加载外部文件,比如%load test.py就可以直接在notebook中打开对应文件,省去切换页面-复制粘贴的时间。

直接打开在线文档也是可以的,比如打开Matplotlib官方文档中的示例代码

%load http://matplotlib.org/mpl_examples/pylab_examples/contour_demo.py


  8.直接运行Python脚本

上面是直接打开外部文件,那么能不能直接运行?答案是可以的,只要使用%run xxx.py即可在notebook中运行Python脚本并输出结果,以运行当前工作目录下的test.py为例

%run test.py

以上就是我在使用Jupyter Notebook时常用的8个命令,并且使用上述命令无需安装任何插件/外部模块,快去试试吧。


文末福利

明哥整理了 21 张 Python 代码速查表,每一张都是国外的大师总结的,非常实用 ~


还有 2 张高清的 PyCharm 快捷键一览图,一张 Windows ,一张 Mac,放在桌面上,需要的时候打开一查,非常方便。。


怎么获取呢?


添加明哥微信,备注 "速查表" 和 "快捷键" 获取


- EOF -


推荐阅读  点击标题可跳转

第一次把 Python 的切片理解得如此透彻

10 个“疯狂”的 Python 项目创意

一行代码让 pandas 的 apply 速度飙到极致!

原来 collections 这么好用!!

献给Python开发人员的25个最佳GitHub代码库!

导入父文件夹中的模块并读取当前文件夹内的资源




得本文对你有帮助?请分享给更多人

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存