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

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

本文示例:根据箱型图、直方图的代码和数据的条件查询方法,画出航空公司男性和女性用户的年龄分布箱型图直方图

目录

图形概念

1.箱型图

2.直方图

步骤:

1、导入相关库

2、对数据进行处理

 3、绘制图形

                箱型图

                直方图

图形概念

1.箱型图

        箱型图是一种用作显示一组数据分散情况资料的统计图,它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比 较。箱线图的绘制方法是:先找出一组数据的上边缘、下边缘、中位数和两个四分位数;然后, 连接两个四分位数画出箱体;再将上边缘和下边缘与箱体相连接,中位数在箱体中间。

25%分位数(下四分位数):序列中有25%的数据小于这个数

中位数(50%分位数):序列中有50%的数据小于这个数

75%分位数(上四分位数):序列中有75%的数据小于这个数

最大值:序列100%的数据小于这个数

最小值:序列没有数据小于这个数

python 分布图,python,开发语言

2.直方图

直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。直方图容易和柱形图搞混淆,外观上没有区别,但是直方图一般指用来描述数据的分布的柱形图。

直方图的常见作用有以下三点:

(1)显示质量波动的状态;

(2)较直观地传递有关过程质量状况的信息;

(3)通过研究质量波动状况之后,就能掌握过程的状况,从而确定在什么地方集中力量进行质量改进工作。

步骤:

1、导入相关库

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Boxplot
from pyecharts.charts import Bar

1、Boxplot库是pyecharts中的一个图表类型,用于显示数据的统计分布情况。
2、Bar库是pyecharts中的另外一个图表类型,用于绘制柱状图。Bar图可以展示不同类别的数据大小之间的比较,也可以用于显示时间序列数据的变化。

读取文件,获取数据集

data = pd.read_excel(r'航空公司数据-剔除空年龄.xlsx')
data

python 分布图,python,开发语言

2、对数据进行处理

筛选出表格中性别为男的存给变量a1,性别为女的存给变量a3

a1 = data['性别']=="男"
a2 = data['性别']=="女"

 把表格中性别为男的数据存给变量a3并打印出来

a3 = data.loc[a1,:]
a3

python 分布图,python,开发语言

 把表格中性别为女的数据存给变量a4并打印出来

a4 = data.loc[a2,:]
a4

python 分布图,python,开发语言

把年龄那一列变为二维列表

pyecherts 中有特殊的要求,加入的数据必须是列表类型的,所以在画图之前我先对所需数据进行处理,处理的方法有以下几种(list()函数、字符串转列表、tolist()等),这里我用的是tolist()函数。

y1 = [a3['年龄'].tolist()] # 注意需要二维列表
y2 = [a4['年龄'].tolist()]

创建一个箱型图对象,并加入男性的二维列表数据

c = Boxplot()
c.prepare_data(y1) # [最小值,下四分位数,中位数,上四分位数,最大值]

女性的同上

c = Boxplot()
c.prepare_data(y2)

python 分布图,python,开发语言

 3、绘制图形

箱型图

# from pyecharts import options as opts
# from pyecharts.charts import Boxplot

c = Boxplot() # 先创建出图形对象
c.add_xaxis([""])  # 必须输入,但多数时候不需要
c.add_yaxis("男", 
            c.prepare_data(y1), # 数据经过prepare_data方法处理得到[最小值,下四分位数,中位数,上四分位数,最大值]
            itemstyle_opts = opts.ItemStyleOpts(color='#FFDAB9',
                                                border_color='#F08080',
                                               )
           ) 
c.add_yaxis("女", 
            c.prepare_data(y2),
            itemstyle_opts = opts.ItemStyleOpts(color='#87CEEB',   #配置箱子颜色
                                                border_color='blue', #箱子的边框颜色
                                               )
           )
# 全局配置项
c.set_global_opts(title_opts=opts.TitleOpts(title="男女性年龄分布箱型图"),  #标题
                  yaxis_opts=opts.AxisOpts(  # y轴的标题
                        type_="value",   # 类型
                        name="年龄",  # y轴标签
                        splitarea_opts=opts.SplitAreaOpts(   # 设置标签不显示
                            is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
                        ),
                    ),      
                 )

c.render_notebook()

结果展示:

python 分布图,python,开发语言

这组数据显示出:

男性                                                        女性

  • 最小值(minimum)=13                            最小值(minimum)=12

  • 下四分位数(Q1)=38                               下四分位数(Q1)=35

  • 中位数(Med--也就是Q2)=44                   中位数(Med--也就是Q2)=40

  • 上四分位数(Q3)=50                                上四分位数(Q3)=48

  • 最大值(maximum)=89                             最大值(maximum)=78

直方图

画图前分组并把筛选出来的数据转为列表

dict = data.groupby(by=['性别','年龄'])['年龄'].count()   #分组
x1 = dict['女'].index.tolist()    #把筛选出来的数据转为列表
x11 = dict['女'].values.tolist()
x2 = dict['男'].index.tolist()
x22 = dict['男'].values.tolist()

绘制女性直方图

x = [i for i in dict.index]
y = dict.tolist()
c = (
    Bar()
    .add_xaxis(x1)
    .add_yaxis("女", x11, 
               category_gap=0, # 设置柱子之间的间距为0
               color='#87CEEB')
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-直方图"))
)
c.render_notebook()

python 分布图,python,开发语言

 绘制男性直方图

x = [i for i in dict.index]
y = dict.tolist()
c = (
    Bar()
    .add_xaxis(x2)
    .add_yaxis("男", x22, 
               category_gap=0, # 设置柱子之间的间距为0
               color='#ff8080')
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-直方图"))
)
c.render_notebook()

python 分布图,python,开发语言文章来源地址https://www.toymoban.com/news/detail-671407.html

到了这里,关于Python数据分布类型图(箱型图、直方图)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • WPS数据清洗+R语言读取文件画频数分布直方图

    R语言是一门好语言,但很多人在读取文件中数据时会遇到问题。比如我遇到的问题就是从文件中读取数据后,数据无法用于画图。 检索了N篇博文(抱歉我实在无法一一列举30+篇博文)后,终于看到曙光,事实告诉我学任何一门语言都需要至少投资一本教材(譬如《R语言编程

    2024年02月12日
    浏览(25)
  • Matlab之统计数据分布并绘制直方图函数histogram

    直方图是一种将数据分组到条柱中的条形图。该函数可以统计数据在划分区间内的数量分布,同时以直方图的形式展示统计结果。 创建直方图X的图。该函数使用 一种自动分箱算法,返回具有统一宽度的分箱, 选择以涵盖元素范围并揭示 分布的基础形状。 将条柱显示为矩形

    2024年04月14日
    浏览(33)
  • 如何绘制出图像的色素分布直方图

    如图,可以展示出我们的图像的颜色分布直方图,表明的图像的亮和暗 这里我们对我们的灰色图片和彩色图片进行了直方图显示 注意:记得下载 上面代码里面的color=\\\'b\\\'表示我们的直方图是蓝色的,这里可以用b代表blue 会出现这样一个程序 显示的直方图 加入了 效果:

    2024年01月18日
    浏览(24)
  • 单变量图的类型与直方图绘图基础

    单变量图(chart for one variable)是指使用数据组的一个变量进行相应图的绘制。想要可视化这个变量,就需要根据不同的数据变量类型绘制图。数据变量分为连续变量(continuous variable)和离散型变量(discrete variable)。 直方图是一种用于表示数据分布和离散情况的统计图形,

    2024年02月11日
    浏览(30)
  • python中的matplotlib画直方图(数据分析与可视化)

    python中的matplotlib画直方图(数据分析与可视化) 效果图: 搞定,这只是一个小demo,数据是代码生成的,您的数据可以从其他地方获取。照葫芦画瓢。

    2024年02月11日
    浏览(38)
  • Python图像增强之直方图均衡化(全局直方图均衡、局部直方图均衡)

    图像增强是有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。 图像增强通常划分

    2024年02月13日
    浏览(28)
  • 【Python数据处理篇——DataFrame数据可视化】饼图、散点图、折线图、柱形图、直方图

    欢迎访问我搞事情的【知乎账号】:Coffee 以及我的【B站漫威剪辑账号】:VideosMan 若我的笔记对你有帮助,请用小小的手指,点一个大大的赞哦。 关于DataFrame的相关知识,我还进行了汇总,欢迎点赞收藏!! 【Python学习笔记—保姆版】第四章—关于Pandas、数据准备、数据处

    2024年02月06日
    浏览(31)
  • Qt之基于QCustomPlot绘制直方图(Histogram),叠加正态分布曲线

    高斯分布(Gaussian distribution),又名正态分布(Normal distribution),也称\\\"常态分布\\\",也就是说,在正常的状态下,一般的事物,都会符合这样的分布规律。 比如人的身高为一个随机变量,特别高的人比较少,特别矮的也很少,大部分都集中在中等身高。 人的智商也是如此,社会精

    2024年02月06日
    浏览(43)
  • 【图论】计算图的n-hop邻居个数,并绘制频率分布直方图

    在图论中,n-hop邻居(或称为K-hop邻居)是指从某个顶点出发,通过最短路径(即最少的边数)可以到达的所有顶点的集合,其中n(或K)是这个最短路径的长度。换句话说,n-hop邻居就是在图中,从一个顶点出发,经过n步可以到达的所有顶点。 举个日常生活中的例子,我们的

    2024年04月28日
    浏览(30)
  • Python绘制直方图

    对于大量样本来说,如果想快速获知其分布特征,最方便的可视化方案就是直方图,即统计落入不同区间中的样本个数。 以正态分布为例 其中 bins 参数用于调控区间个数,出图结果如下 直方图函数的定义如下 除了 x 和 bins 之外,其他参数含义为 range 绘图区间,默认将样本

    2024年02月05日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包