Fork me on GitHub

jupyter玩转Markdown目录

Jupyter奇技淫巧:Markdown使用

介绍一个Peter日常操作jupyter的使用技巧:如何在jupyter notebook中玩转Markdown目录

基本在个人jupyter的每个ipynb文件都会使用,长这个样子:

也可以是长成这个样子:

安装扩展

为了更好地使用,首先必须在电脑上安装扩展插件:

1
2
3
4
# 安装Jupyter的配置器
pip install jupyter_nbextensions_configurator
# 启动配置器
jupyter nbextensions_configurator enable --user

安装之后启动电脑的notebook,会看到:

1、Nbextensions选项(不安装插件是没有的)

2、进入该功能:勾选3个与Markdown和目录相关的选项

下面是正式的使用说明过程:我们以plotly可视化中自带的一份tips数据集来说明。最终的效果为:

导入数据

In [1]:

1
2
3
4
5
# 导入库
import pandas as pd
import numpy as np

import plotly_express as px

In [2]:

1
2
3
4
# 导入plotly库自带的tips数据集

df = px.data.tips()
df.head()

数据基本信息

In [3]:

1
df.shape  # 数据shape信息

Out[3]:

1
(244, 7)

In [4]:

1
df.dtypes  # 字段类型

Out[4]:

1
2
3
4
5
6
7
8
total_bill    float64
tip float64
sex object
smoker object
day object
time object
size int64
dtype: object

In [5]:

1
df.isnull().sum()   # 缺失值统计

Out[5]:

1
2
3
4
5
6
7
8
total_bill    0
tip 0
sex 0
smoker 0
day 0
time 0
size 0
dtype: int64

In [6]:

1
df.describe()  # 描述统计信息

统计与可视化分析

sex性别统计

In [7]:

1
2
3
4
df1 = df["sex"].value_counts().reset_index()
df1.columns = ["sex", "number"]

df1

Out[7]:

sex number
0 Male 157
1 Female 87

In [8]:

1
2
3
4
# 绘图
fig = px.bar(df1, x="sex", y="number")

fig.show()

top_bill和tip的分布

total_bill分布

In [9]:

1
2
3
fig = px.violin(df,y="total_bill",color="day")

fig.show()

tip分布

In [10]:

1
2
3
fig = px.box(df,y="tip",color="day")

fig.show()

不同条件下的二者分布

In [11]:

1
2
3
4
5
6
7
8
fig = px.scatter(df,
x="tip", # 小费
y="total_bill", # 总消费
size="total_bill", # 大小使用total_bill字段信息
color="day")


fig.show()

不同sex和smoker下total_bill统计

In [12]:

1
2
df3 = df.groupby(["sex","smoker"])["total_bill"].sum().reset_index()
df3

Out[12]:

sex smoker total_bill
0 Female No 977.68
1 Female Yes 593.27
2 Male No 1919.75
3 Male Yes 1337.07

In [13]:

1
2
3
4
5
6
7
8
9
10
# 可视化

fig = px.bar(df3,
x="sex",
y="total_bill",
color="smoker",
barmode="group"
)

fig.show()

不同day、time和sex下的total_bill

In [14]:

1
2
3
4
5
6
7
8
9
10
11
fig = px.treemap(
df, # 传入数据
path=[px.Constant("all"),"day","time","sex"], # 重点:传递数据路径
values="tip" # 数值显示使用哪个字段
)

fig.update_traces(root_color="lightskyblue")

fig.update_layout(margin=dict(t=30,l=20,r=25,b=30))

fig.show()

玩转目录

上面已经生成了最终的目录效果,下面讲解下如何玩转这个目录:

是否添加编号

1、当前效果没有编号,点击【齿轮】

2、添加目录编号

自动添加目录编号,点击【OK】

3、具有编号的目录

我们可以看到添加了编号之后能够看到不同的层级:包含父级和子级目录,有点类似Word的一级、二级目录等

目录跳转

单击左侧任何一个层级的目录,会自动跳转到单元格的指定位置

正文部分添加目录

1、当前的效果中文是没有目录的:

2、单击上面提到的齿轮

勾选下面的add notebook ToC cell,并自定义名称:

3、新效果展示

同样的单击目录【红框中】的任何一级目录,也是可以跳转到指定的位置

这个功能我一般不使用,习惯了左侧的目录😄

左侧目录右移

jupyter notebook默认生成的目录是在左边,我们也可以移动到右边。注意一点:需要你的光标移动到左侧目录的时候变成十字架的形式,具体到视频号的内容

参考资料

本文中介绍了jupyter notebook中如何制作和玩转Markdown目录,需要先掌握两个知识点:

1、如何使用Markdown语法编写目录,公众号回复Markdown,获取Markdown入门语法PPT

2、在jupyter notebook中如何使用Markdown,请参考小屋的文章:

本文标题:jupyter玩转Markdown目录

发布时间:2022年07月31日 - 23:07

原始链接:http://www.renpeter.cn/2022/07/31/jupyter%E7%8E%A9%E8%BD%ACMarkdown%E7%9B%AE%E5%BD%95.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Coffee or Tea