Jupyter由于能方便的呈现交互式的内容,深受数据分析师的喜爱。之前看到过很多介绍Jupyter使用技巧的文章,但是这些文章一般都是介绍一些插件,小编使用Jupyter已经4年多了,在使用过程中,积累了不少认为还挺实用的技巧,今天分享给大家。
内嵌网页或PDF
有的时候我们想在Notebook中插入参考的网页或者论文,这个功能可以利用IPython包的display模块来实现
from IPython.display import IFrame
IFrame(src='https://www.baidu.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>')
DataFrame显示更多的行
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>
其他颜色的强调内容:
关注公众号后台回复“J”,获取对应的代码文件。
欢迎关注我的公众号“数据科学杂谈”,原创技术文章第一时间推送。