Python获取excel的数据并绘制箱型图和直方图

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

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

目录

 图形简介

1. 箱线图

2.直方图

引入模块

获取数据

处理数据

根据性别来分开查询数据

画图

箱型图

 直方图

男性直方图


 图形简介

1. 箱线图

箱线图(Box-plot)又称为盒式图或箱型图,箱型图是用来表示一组数据的分布(统计不同取值可能出现的次数)。

python读取excel绘图,python,开发语言

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

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

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

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

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

2.直方图

直方图(Bar),形状类似柱状图却有着与柱状图完全不同的含义。直方图牵涉统计学概念,首先要对数据进行分组,然后统计每个分组内数据元的数量。在平面直角坐标系中,横轴标出每个组的端点,纵轴表示频数,每个矩形的高代表对应的频数,这样的统计图称为频数分布直方图。

频数分布直方图需要经过频数乘以组距的计算过程才能得出每个分组的数量,同一个直方图的组距是一个固定不变的值,所以如果直接用纵轴表示数量,每个矩形的高代表对应的数据元数量,既能保持分布状态不变,又能直观地看出每个分组的数量,如下图所示

python读取excel绘图,python,开发语言

引入模块

首先我们的目的是获取excel文件并作图,那么就要引入相关的模块

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

若没有pandas和pyecharts这两个模块!

就需要在cmd命令窗口或Anaconda Prompt窗口输入以下命令:

pip install pandas

pip install pyecharts

---------------------------------------------------------------------------------------------------------------------------------

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。

pyecharts是一款将python与echarts结合的强大的数据可视化工具。Echarts 是百度开源的一个数据可视化 JS 库, Echarts可以生成非常棒的可视化交互图,pyecharts的开发让在python平台上也可以直接使用数据生成图。

获取数据

利用pandas中的方法获取指定文件指定工作表中的全部数据,其数据是一个列表形式,注意这里’航空公司数据-剔除空年龄.xlsx‘文件与当前写的xx.ipynb文件需要在同一文件夹内才能获取到数据,因为我使用的是相对路径,也可以使用绝对路径来获取‘航空公司数据-剔除空年龄.xlsx’文件。

下面是用相对路径来获取。

python读取excel绘图,python,开发语言

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

 或者用绝对路径来获取。

data = pd.read_excel(r'D:\新建文件夹 (2)\航空公司数据-剔除空年龄.xlsx')
data

处理数据

根据性别来分开查询数据

表格对象中实现条件查询的方法:

data1 = data['性别']=="男"
data2 = data['性别']=="女"
data11=data.loc[data1,:]
data11
data22=data.loc[data2,:]
data22

做完以上步骤再把年龄提取出来

y1 = [data11['年龄'].tolist()]
y2 = [data22['年龄'].tolist()]

画图

箱型图

画图前先把年龄的最小值,下四分位数,中位数,上四分位数,最大值提取出来

男性年龄

c = Boxplot()
c.prepare_data(y1)

 python读取excel绘图,python,开发语言

女性年龄 

c = Boxplot()
c.prepare_data(y2)

python读取excel绘图,python,开发语言

完成以上步骤开始画图

c = Boxplot() # 先创建出图形对象
c.add_xaxis([""])  # 必须输入,但多数时候不需要
c.add_yaxis("男", 
            c.prepare_data(y1), # 数据经过prepare_data方法处理得到[最小值,下四分位数,中位数,上四分位数,最大值]
            itemstyle_opts = opts.ItemStyleOpts(color='skyblue',
                                                border_color='blue',
                                               )
           ) 
c.add_yaxis("女", 
            c.prepare_data(y2),
            itemstyle_opts = opts.ItemStyleOpts(color='#aa1010',
                                                border_color='black',
                                               )
           )
c.set_global_opts(title_opts=opts.TitleOpts(title="男女性年龄分布箱型图"),
                  yaxis_opts=opts.AxisOpts(
                        type_="value",
                        name="年龄",  # 单位
                        splitarea_opts=opts.SplitAreaOpts(
                            is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
                        ),
                    ),      
                 )

c.render_notebook()

python读取excel绘图,python,开发语言

直方图

画图前先把每个年龄段有多少人提取出来

男性直方图

dist = data11['年龄'].value_counts().sort_index()
dist

 python读取excel绘图,python,开发语言

x = [i for i in dist.index]
y = dist.tolist()
c = (
    Bar()
    .add_xaxis(x)
    .add_yaxis("男", y, 
               category_gap=0, # 设置柱子之间的间距为0
               color='#ff8080')
    .set_global_opts(title_opts=opts.TitleOpts(title="男性直方图"),
        xaxis_opts=opts.AxisOpts(
                        name="年龄",  # 单位
                    ),
        yaxis_opts=opts.AxisOpts(
                        type_="value",
                        name="人数",  # 单位
                        splitarea_opts=opts.SplitAreaOpts(
                            is_show=True,areastyle_opts=opts.AreaStyleOpts(opacity=1)
                        ),
                    ),
    ) 
)
c.render_notebook()

python读取excel绘图,python,开发语言

女性直方图

dict = data22['年龄'].value_counts().sort_index()
dict

 python读取excel绘图,python,开发语言

x = [i for i in dict.index]
y = dict.tolist()
c = (
    Bar()
    .add_xaxis(x)
    .add_yaxis("女", y, 
               category_gap=0, # 设置柱子之间的间距为0
               color='#ff8080')
    .set_global_opts(title_opts=opts.TitleOpts(title="女性直方图"),
        xaxis_opts=opts.AxisOpts(
                        name="年龄",  # 单位
                    ),
        yaxis_opts=opts.AxisOpts(
                        type_="value",
                        name="人数",  # 单位
                        splitarea_opts=opts.SplitAreaOpts(
                            is_show=True,areastyle_opts=opts.AreaStyleOpts(opacity=1)
                        ),
                    ),
    ) 
)
c.render_notebook()

python读取excel绘图,python,开发语言文章来源地址https://www.toymoban.com/news/detail-751722.html

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

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

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

相关文章

  • 【Python数据可视化】matplotlib之绘制常用图形:折线图、柱状图(条形图)、饼图和直方图

    文章传送门 Python 数据可视化 matplotlib之绘制常用图形:折线图、柱状图(条形图)、饼图和直方图 matplotlib之设置坐标:添加坐标轴名字、设置坐标范围、设置主次刻度、坐标轴文字旋转并标出坐标值 matplotlib之增加图形内容:设置图例、设置中文标题、设置网格效果 matplo

    2024年01月16日
    浏览(56)
  • 数据可视化(5)热力图及箱型图

    1.热力图     2.箱型图     3.  

    2024年02月14日
    浏览(39)
  • python读取excel数据并用双y轴绘制柱状图和折线图,柱子用渐变颜色填充

    往期python绘图合集: python绘制简单的折线图 python读取excel中数据并绘制多子图多组图在一张画布上 python绘制带误差棒的柱状图 python绘制多子图并单独显示 python读取excel数据并绘制多y轴图像 python绘制柱状图并美化|不同颜色填充柱子 python随机生成数据并用双y轴绘制两条带误差

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

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

    2024年02月09日
    浏览(48)
  • 【matplotlib 实战】--箱型图

    箱型图(Box Plot),也称为盒须图或盒式图,1977年由美国著名统计学家约翰·图基(John Tukey)发明。 是一种用作显示一组数据分布情况的统计图,因型状如箱子而得名。 它能显示出一组数据的最大值、最小值、中位数及上下四分位数。 箱子的顶端和底端,分别代表上下四分

    2024年02月08日
    浏览(44)
  • excel绘制直方图

    Excel 2016直方图使用指南 excel绘制各种曲线十分方便,可以通过代码将计算的数据输出到excel里面,然后通过excel的插入标签,绘制各种需要的曲线。 对于直方图,横坐标是分布区间,纵坐标是这个区间内数值的频数(也就是个数),通过直方图,可以直观的看出一组数据的分

    2024年02月10日
    浏览(48)
  • Python绘制直方图

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

    2024年02月05日
    浏览(43)
  • Python 实例|matplotlib|绘制直方图(各参数样例)

    matplotlib.pyplot.hist 的官方文档:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.hist.html 这个方法使用 numpy.histogram 首先将 x 中的数据分桶并统计每个桶中的元素数量,接着使用条形图绘制这个分布。 函数参数、含义及样例如下: 参数列表及样例 x : 数据集对象(必填) (n,) arr

    2024年02月07日
    浏览(49)
  • Python 直方图的绘制-`hist()`方法(Matplotlib篇-07)

    Python 直方图的绘制-【plt.hist()】(Matplotlib篇-08)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔

    2024年02月03日
    浏览(45)
  • python中利用seaborn绘制概率分布直方图以及密度图

    当我们想要弄清楚变量的统计特性时,往往想知道它是服从什么分布的,这时候就需要绘制概率分布直方图 在python中我们可以使用 seaborn 库来进行绘制: Seaborn是一个基于matplotlib的Python数据可视化库。它为绘制有吸引力和信息丰富的统计图形提供了高级界面。 首先需要导入

    2024年02月16日
    浏览(56)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包