没用过这几招,别说你会使用Jupyter Notebook!

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

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

1. 在Notebook中安装第三方库

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

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

  1. ! 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官方文档中的示例代码

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

8. 直接运行Python脚本

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

  1. %run test.py 

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

 

责任编辑:赵宁宁 来源: 早起Python
相关推荐

2017-07-26 10:08:06

FABDesign SuppAndroid

2024-04-19 09:02:32

前端调试技巧

2021-01-03 16:12:35

Java工具开发

2019-09-02 08:08:30

缓存HTTP数据库

2020-01-17 20:00:25

SQL函数数据库

2022-11-29 07:33:15

JavaLombokRecord

2021-06-24 09:08:34

Java代码泛型

2024-03-26 00:48:38

Netty通信框架

2022-07-20 07:29:52

Java

2020-10-20 18:51:43

C++IDECode

2018-09-27 15:58:06

MySQL数据库性能优化

2012-06-07 16:16:43

JavaScript

2019-06-26 10:10:44

Linux终端命令

2017-03-22 19:52:16

Devops开源

2023-09-26 08:16:25

分布式锁数据库

2016-03-08 10:09:21

Linux开源外壳

2022-06-08 21:08:22

微信朋友圈

2023-11-10 08:20:13

2019-12-26 14:50:36

ORDER BY数据库排序函数

2017-11-06 14:55:53

windows文件归纳
点赞
收藏

51CTO技术栈公众号