jupyter notebook中玩转Markdown目录

2022-07-31 23:12:41 浏览数 (2)

作者:Peter 编辑:Peter

大家好,我是Peter~

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

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

也可以是长成这个样子:

安装扩展

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

代码语言:python代码运行次数:0复制
# 安装Jupyter的配置器
pip install jupyter_nbextensions_configurator
# 启动配置器
jupyter nbextensions_configurator enable --user

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

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

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

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

导入数据

In 1:

代码语言:txt复制
# 导入库
import pandas as pd
import numpy as np

import plotly_express as px

In 2:

代码语言:txt复制
# 导入plotly库自带的tips数据集

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

数据基本信息

In 3:

代码语言:txt复制
df.shape  # 数据shape信息

Out3:

代码语言:txt复制
(244, 7)

In 4:

代码语言:txt复制
df.dtypes  # 字段类型

Out4:

代码语言:txt复制
total_bill    float64
tip           float64
sex            object
smoker         object
day            object
time           object
size            int64
dtype: object

In 5:

代码语言:txt复制
df.isnull().sum()   # 缺失值统计

Out5:

代码语言:txt复制
total_bill    0
tip           0
sex           0
smoker        0
day           0
time          0
size          0
dtype: int64

In 6:

代码语言:txt复制
df.describe()  # 描述统计信息

统计与可视化分析

sex性别统计

In 7:

代码语言:txt复制
df1 = df["sex"].value_counts().reset_index()
df1.columns = ["sex", "number"]

df1

Out7:

sex

number

0

Male

157

1

Female

87

In 8:

代码语言:txt复制
# 绘图
fig = px.bar(df1, x="sex", y="number")

fig.show()

top_bill和tip的分布

total_bill分布

In 9:

代码语言:txt复制
fig = px.violin(df,y="total_bill",color="day")

fig.show()
tip分布

In 10:

代码语言:txt复制
fig = px.box(df,y="tip",color="day")

fig.show()
不同条件下的二者分布

In 11:

代码语言:txt复制
fig = px.scatter(df,
                 x="tip",  # 小费
                 y="total_bill",  # 总消费
                 size="total_bill",  # 大小使用total_bill字段信息
                 color="day")


fig.show()

不同sex和smoker下total_bill统计

In 12:

代码语言:txt复制
df3 = df.groupby(["sex","smoker"])["total_bill"].sum().reset_index()
df3

Out12:

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:

代码语言:txt复制
# 可视化

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

fig.show()

不同day、time和sex下的total_bill

In 14:

代码语言:python代码运行次数:0复制
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、新效果展示

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

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

0 人点赞