【matplotlib 实战】--箱型图

这篇具有很好参考价值的文章主要介绍了【matplotlib 实战】--箱型图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

箱型图(Box Plot),也称为盒须图或盒式图,1977年由美国著名统计学家约翰·图基(John Tukey)发明。
是一种用作显示一组数据分布情况的统计图,因型状如箱子而得名。

它能显示出一组数据的最大值、最小值、中位数及上下四分位数。
箱子的顶端和底端,分别代表上下四分位数。
箱子中间的是中位数线,它将箱子一分为二。从箱子延伸出去的线条展现出了上下四分位数以外的数据,由于这两根延伸出去的线像是胡须,因此箱形图也被称为盒须图。

箱形图最大的优势是,它以一种简单的方式,概括出一个或多个数值变量的分布,同时又不会占据太多空间。

1. 主要元素

它主要由以下五个元素组成:

  1. 最大值:表示数据的最大值,排除了异常值后的上限。
  2. 上四分位线:数据的上四分位数,将数据分为四等份,处于上边缘和中位数之间的数据。也称为第三四分位数。
  3. 中位数:数据的中位数,将数据分为两等份,处于上四分位数和下四分位数之间的数据。也称为第二四分位数。
  4. 下四分位线:数据的下四分位数,将数据分为四等份,处于中位数和下边缘之间的数据。也称为第一四分位数。
  5. 最小值:表示数据的最小值,排除了异常值后的下限。

【matplotlib 实战】--箱型图

2. 适用的场景

箱型图适用于以下分析场景:

  • 数据分布比较:比较不同组数据的分布情况。通过将多个箱型图放在一起,可以直观地比较它们的中位数、四分位数和离群值等信息,从而了解它们之间的差异。
  • 离群值检测:检测数据中的离群值。离群值是与其他数据点相比明显偏离的数据点,它们可能是数据收集或记录过程中的异常或错误。箱型图中的离群点可以帮助识别这些异常值。
  • 数据中心趋势和离散程度:通过中位数和四分位距(上四分位数与下四分位数之差)展示了数据的中心趋势和离散程度。中位数提供了数据的中心位置,四分位距提供了数据的离散程度。
  • 数据分布形状:提供关于数据分布形状的一些信息。例如,如果箱型图的上下边缘和中位数都接近,箱型图可能显示出对称的分布。如果箱型图的上边缘比下边缘长,中位数偏向下边缘,可能显示出右偏分布。

3. 不适用的场景

箱型图不适用于以下分析场景:

  • 数据样本过小:当数据样本过小时,箱型图可能无法提供足够的信息来准确描述数据的分布情况。
  • 数据分布复杂:当数据分布非常复杂或包含多个峰值时,箱型图可能无法完全捕捉到数据的特征。
  • 数据缺失:如果数据中存在大量缺失值,箱型图可能无法提供准确的分布信息。

4. 分析实战

本次通过箱型图分析我国三大产业对GDP的贡献情况。

4.1. 数据来源

数据来自国家统计局公开的历年数据,整理好的文件从下面的地址下载:
https://databook.top/nation/A02

使用的是其中的 A0201.csv 文件(国内生产总值)

fp = "d:/share/data/A0201.csv"

df = pd.read_csv(fp)
df

【matplotlib 实战】--箱型图

4.2. 数据清理

过滤出三大产业在2013年~2022年的增加值数据。

data = df[df["zb"].isin(["A020103", 
                         "A020104",
                         "A020105"])].copy()
data = data[data["sj"] > 2012]
data

其中,A020103A020104A020105 分别是三大产业的指标编号。

4.3. 分析结果可视化

通过箱型图展示三大产业的增加值情况:

fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 1, 1])

graph = ax.boxplot(
    [
        data[data["zb"] == "A020103"].loc[:, "value"],
        data[data["zb"] == "A020104"].loc[:, "value"],
        data[data["zb"] == "A020105"].loc[:, "value"],
    ],
    vert=True,
    patch_artist=True,
    labels=["第一产业", "第二产业", "第三产业"]
)
ax.set_title("2013~2022 三大产业对GDP增加值(亿元)")

colors = ['pink', 'lightblue', 'lightgreen']
for patch, color in zip(graph['boxes'], colors):
    patch.set_facecolor(color)

plt.show()

【matplotlib 实战】--箱型图

从图中可以看出,近10年来,第一产业的增加值明显低于其他两个产业。
第二第三产业的上下限的值相差比较大,说明增长或者下降比较明显(看了数据,是增长明显)。
第一产业的中位数(红色的横线)偏下半部分,说明多数的年份增加值比较低
第二产业的中位数(红色的横线)偏上半部分,说明多数的年份增加值比较高文章来源地址https://www.toymoban.com/news/detail-712069.html

到了这里,关于【matplotlib 实战】--箱型图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python数据分布类型图(箱型图、直方图)

    本文示例 :根据箱型图、直方图的代码和数据的 条件查询 方法,画出航空公司男性和女性用户的年龄分布 箱型图 和 直方图 。 目录 图形概念 1.箱型图 2.直方图 步骤: 1、导入相关库 2、对数据进行处理  3、绘制图形                 箱型图                

    2024年02月11日
    浏览(44)
  • Python获取excel的数据并绘制箱型图和直方图

    根据箱型图、直方图的代码和数据的条件查询方法,画出航空公司男性和女性用户的年龄分布 箱型图 和 直方图 。 目录  图形简介 1. 箱线图 2.直方图 引入模块 获取数据 处理数据 根据性别来分开查询数据 画图 箱型图  直方图 男性直方图 1. 箱线图 箱线图(Box-plot)又称为

    2024年02月05日
    浏览(47)
  • 【数据分析入门】Seaborn[散点图、条形图、计数图、热力图、箱型图、小提琴图]

       Seaborn 是 基于 matplotlib 开发 的高阶 Python 数据可视图库 ,用于绘制优雅、美观的统计图形。   使用下列别名导入该库:    使用 Seaborn 创建图形的基本步骤 :   1. 准备数据 :我们要 确保绘制的数据集 。   2. 设定画布外观 :在创建图形之前,我们可以 设定画

    2024年02月09日
    浏览(47)
  • 【matplotlib 实战】--漏斗图

    漏斗图,形如“漏斗”,用于展示数据的逐渐减少或过滤过程。 它的起始总是最大,并在各个环节依次减少,每个环节用一个梯形来表示,整体形如漏斗。 一般来说,所有梯形的高度应是一致的,这会有助人们辨别数值间的差异。 需要注意的是,漏斗图的各个环节,有逻辑

    2024年02月08日
    浏览(34)
  • 【matplotlib 实战】--柱状图

    柱状图,是一种使用矩形条,对不同类别进行数值比较的统计图表。 在柱状图上,分类变量的每个实体都被表示为一个矩形(通俗讲即为“柱子”),而数值则决定了柱子的高度。 柱状图是一种用长方形柱子表示数据的图表。 它包含三个主要元素: 横轴(x轴):表示数据

    2024年02月08日
    浏览(40)
  • 【matplotlib 实战】--堆叠柱状图

    堆叠柱状图 ,是一种用来分解整体、比较各部分的图。 与柱状图类似,堆叠柱状图常被用于比较不同类别的数值。而且,它的每一类数值内部,又被划分为多个子类别,这些子类别一般用不同的颜色来指代。 柱状图帮助我们观察“总量”,堆叠柱状图则可以同时反映“总量

    2024年02月08日
    浏览(39)
  • 【matplotlib 实战】--直方图

    直方图 ,又称质量分布图,用于表示数据的分布情况,是一种常见的统计图表。 一般用横轴表示数据区间,纵轴表示分布情况,柱子越高,则落在该区间的数量越大。 构建直方图时,首先首先就是对数据划分区间,通俗的说即是划定有几根柱子(比如,1980年~2020年的数据,

    2024年02月08日
    浏览(59)
  • 【matplotlib 实战】--堆叠面积图

    堆叠面积图和面积图都是用于展示数据随时间变化趋势的统计图表,但它们的特点有所不同。 面积图的特点在于它能够直观地展示数量之间的关系,而且不需要标注数据点,可以轻松地观察数据的变化趋势。而堆叠面积图则更适合展示多个数据系列之间的变化趋势,它们一层

    2024年02月08日
    浏览(51)
  • 【matplotlib 实战】--雷达图

    雷达图(Radar Chart),也被称为蛛网图或星型图,是一种用于可视化多个变量之间关系的图表形式。 雷达图是一种显示多变量数据的图形方法。通常从同一中心点开始等角度间隔地射出三个以上的轴,每个轴代表一个定量变量,各轴上的点依次连接成线或几何图形。 雷达图可

    2024年02月08日
    浏览(37)
  • 【matplotlib 实战】--折线图

    折线图是一种用于可视化数据变化趋势的图表,它可以用于表示任何数值随着时间或类别的变化。 折线图由折线段和折线交点组成,折线段表示数值随时间或类别的变化趋势,折线交点表示数据的转折点。 折线图的方向表示数据的变化方向,即正变化还是负变化,折线的斜

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包