查看原文
其他

第二弹!又来5个Jupyter Notebook使用技巧!

朱小五 凹凸数据 2022-05-28

大家好,我是小五🧐

上次给大家分享了5个Jupyter Notebook使用技巧,看评论区的反响还不错,我就又把剩下的总结了一下。

分成了几篇,本文继续介绍5个有趣有用的Jupyter Notebook使用技巧 ~

1、执行shell命令

shell命令,用来与计算机进行文本交互。

举个栗子,我们正在jupyter notebook中愉快地敲着代码的时候,突然发现有个库需要安装一下。就要用到命令行工具,但来回在shell和jupyter 之间进行切换太麻烦了。

其实在notebook中就可以直接运行shell命令,在原有命令最前方加上英文感叹号!即可。

!pip install xlwings

这样我们无需离开浏览器,只通过一个感叹号! 就在 Jupyter Notebook 中安装好了第三方库(执行shell命令),非常便捷。

注:和鲸等在线Notebook网站,也是!pip这样额外安装第三方库。

不当然,不仅仅安装第三方库需要会用到shell命令。

比如我们在对一堆数据集进行分析时,可以使用它来检查当前工作文件夹中可用的数据集。

!dir *.csv

2、隐藏部分输出信息

什么叫隐藏部分输出信息呢?

还是举例说明吧。

当我们使用Matplotlib来画图时,会出现下图中蓝圈内的输出信息。

类似的输出信息,大部分情况下是不需要的,看起来也有些“多余”。

我们在语句的最后添加英文分号;,就可以将这类输出信息隐藏掉。

还是上面的示例代码,改成这样再重新执行。

plt.scatter(x, y);

可以看到,“多余”的输出信息被隐藏掉了。

3、查看帮助信息

一个工具能够被快速查看帮助信息的话,对于初学者是巨大的帮助。

Jupyter Notebook中,在 Help 菜单中,您可以找到大部分常用库(包括 NumPy、Pandas、SciPy 和 Matplotlib)的在线文档直接链接。

而对于更细致的库、方法或变量,使用?加方法名就可以很方便地查看帮助文档。

比如print?就可以查看print的帮助文档。

4、使用 LaTeX

在上篇文章中,我特别推荐了Markdown写作。

编写代码的注释时,难免会需要进行编写运算公式。既然Jupyter Notebook支持了 Markdown ,我们就可以在 Markdown 单元格中编写LaTeX此时它将使用 MathJax 呈现为公式[1]

比如在 Markdown 格式下的 cell 中执行以下文字:

$P(A \mid B) = \frac{P(B \mid A)P(A)}{P(B)}$

回车后就会输出公式:

具体 Markdown 中的LaTeX格式使用,大家可以自行去学习了解。

Markdown 是 notebooks 的重要组成部分,所以不要忘记代码搭配使用它!

5、在Jupyter上玩转CSS

前段时间我们分享过这样一篇文章:Pandas输出的表格竟然可以动起来?

里面提到在 jupyter notebook 环境上的输出,全是 html。因此我们只需要适当加上 css 就能让其可以交互起来[2]。而且 Pandas 本身就提供了一些方法让我们轻松添加样式,于是乎我们就可以搞出很多“新花样”~

这里再用实例演示一下(代码来自@小小明)

位移

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(52), columns=['data1''data2'])
df['key1'] = ['a''a''b''b''e']
df['key2'] = ['one''two''one''two''one']
df.style.set_table_styles([
    {'selector''tr',
     'props': [('transition-duration''1s')]},
    {'selector''tr:hover',
     'props': [('transform''translate(90%)')]}
])

旋转

df.style.set_table_styles([
    {'selector''tr',
     'props': [('transition-duration''1s')]},
    {'selector''tr:hover',
     'props': [('transform'' rotate(360deg)')]}
])

具体原理:

先对目标元素设置过渡时间,参考:https://www.runoob.com/css3/css3-transitions.html。然后通过伪类hover设置鼠标移动到目标元素的特殊样式[3]

上面两种样式变化使用了2D变化的两个方法,参考:https://www.runoob.com/css3/css3-2dtransforms.html

好了,今天又介绍了5个Jupyter Notebook的使用小技巧。后面两篇将分别介绍魔法命令实用插件,敬请期待。

觉得有技巧帮助到你提升效率/乐趣的话,别忘了给本文点个赞哦👍

参考资料

[1]

28 Jupyter Notebook Tips, Tricks, and Shortcuts: https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/

[2]

Pandas输出的表格竟然可以动起来?: https://mp.weixin.qq.com/s/0buwaI9o70_7rE3t18Fmaw

[3]

小小明(代码实体): https://blog.csdn.net/as604049322/article/details/118303417



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

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