Jupyter不为人知的7个超好用功能

Jupyter由于能方便的呈现交互式的内容,深受数据分析师的喜爱。之前看到过很多介绍Jupyter使用技巧的文章,但是这些文章一般都是介绍一些插件,小编使用Jupyter已经4年多了,在使用过程中,积累了不少认为还挺实用的技巧,今天分享给大家。

AI吧Python

内嵌网页或PDF

有的时候我们想在Notebook中插入参考的网页或者论文,这个功能可以利用IPython包的display模块来实现

from IPython.display import IFrameIFrame(src='https://www.ai8py.com/',width=800,height=500)

渲染HTML代码

小编在调试爬虫的时候,经常需要检查爬取的HTML源码是否正确,源码一般比较长,直接看十分不方便,因此一般都是渲染成网页

from IPython.display import HTML
HTML("""<div>    <h1>Example Domain</h1>    <p>This domain is for use in illustrative examples in documents. You may use this    domain in literature without prior coordination or asking for permission.</p>    <p><a href="https://www.iana.org/domains/example">More information...</a></p>    </div>""")

甚至,我们还能在Notebook中嵌入网易云音乐播放器

from IPython.display import HTML

HTML('<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=28285910&auto=1&height=66"></iframe>')

pandas的DataFrame默认是显示100行,多余的行会被折叠,如果我们需要浏览更多的行,可以通过更改pandas的默认设置来实现。同样,我们也可以更改显示的列数

我们先随机生成一个5*30列的DataFrame,

import pandas as pd
df = pd.DataFrame(np.random.randn(5, 30))
df

可以看到默认只会显示20列,中间10-19列被隐藏,下面我们更改设置,显示所有的列

# 设置最大显示500行
pd.set_option('display.max_rows', 500)
# 设置最大显示500列
pd.set_option('display.max_columns', 500)
df = pd.DataFrame(np.random.randn(5, 30))
df

可以看到,原本被隐藏的10-19列,现在全部显示了

cell显示多个输出

Notebook中如果一个cell中有多个输出,默认是只显示最后一个输出的,如果我们需要在一个cell中显示所有输出,可以通过下面的方式来设置

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

df = pd.DataFrame(np.random.randn(3, 5))
df
df.info()

将cell内容写入到文件

单元格中的内容可以用%%writefile Magic命令保存到本地文件中,这样我们就不用再去打开VSCode了

%%writefile fool.py
def sum(x,y):
    return x+y

print(sum(1,2))

Notebook中运行.py脚本

%run命令可以让我们在cell中运行一个python脚本,我们在cell中运行上面保存的fool.py脚本,就可以得到正确的结果

%run fool.py

突出显示笔记

如果我们需要在Notebook中重点突出显示部分内容,可以给这部分内容设置背景色,只需要设置HTML标签的class属性,就可以调用内置的CSS样式

<div class="alert alert-block alert-info">
<b>Tip:</b> Use blue boxes (alert-info) for tips and notes. 
If it’s a note, you don’t have to include the word “Note”.
</div>

其他颜色的强调内容:

发表评论

电子邮件地址不会被公开。 必填项已用*标注