ad

打开《Python 可视化数据分析》_学会挖掘大数据的价值_5.6 绘制箱线图

网友投稿 125 2023-11-13

【摘要】 本书摘自《Python网络爬虫 从入门到精通》一书中第5章,第6节,李迎著。

5.6 绘制箱线图

箱线图,也称为箱形图(boxplot), 在这种类型的图中明显呈现一组数据中的最 大、最小值,以及第一四分位数、中位数、第三四分位数等统计学的量,这样就可 以中途看到所分析的不同类别数据平均水平差异(需在箱线图中加入均值点),还 能揭示数据间离散程度、异常值、分布差异等。箱线图中间的直线表示中位数,图 中上下两端延伸出去的直线表示分析数据中的最大和最小值。在 Matplotlib 中用方法

boxplot()来绘制箱线图。

示例1:

打开《Python 可视化数据分析》_学会挖掘大数据的价值_5.6 绘制箱线图

1 import numpy as np

2 import matplotlib.pyplot as plt

3 import pandas as pd

4 np.random.seed(2)

5 df=pd.DataFrame(np.random,rand(5,4)),

6 columns=[ 'A', 'B', 'C', 'D' ])

7 df.boxplot()

8 plt.show()

这说明在B列的数据中,多数值都比均值高,少数值比均值低,但这些少数值 又和多数值差异很大;反之 A 、C 列数据,多数值都比均值低,少数值比均值高, 但少数值又很大。第1~3行是导入需要的库,第4行是设置要生成的随机维度数组 的范围是0~1,即设置随机种子。第5行借助 numpy库的 DataFrame 数据结构生成 5行4列数据,第6行是对5行4列数据的列标签的设置,先生成0~1之间的5×4 维度数据,再装入4列 DataFrame中。第7行是箱体的绘图函数,参数均为默认, 也可以使用 plot.box(), 生成分析图形如图5-19所示。

从图形可以看出,A、B、C、D四组数A 、D数据较集中(大部分在上下四分位 箱体内),但都有异常值(图中小圆点),C的离散程度最大(最大值与最小值之间 距离)。以均值为中心, B 分布都有明显右偏(即较多的值分布在均值的右侧),A、C 则有明显左偏。

示例2:

在这个代码中我们对本地固定存储的“学生数据.csv”数据进行读取分析绘图。1 import pandas as pd

2 import matplotlib.pyplot as plt

3 data=pd.read_csv('学生数据.csv')

4 plt.rcParams['font.sans-serif']='Microsoft YaHei'

5 plt.rcParams['axes.unicode_minus']=False

6 plt.boxplot(x=data.nl,

patch_artist =True,

showmeans=True,

boxprops={'color':'black','facecolor':'#9999ff'

flierprops={'marker':'o','markerfacecolor':'red','color': 'black'},

meanprops={'marker':'D','markerfacecolor':'indianred'},

medianprops={ 'linestyle': '--','color': 'orange '})

7 plt.ylim(0,65)

8 plt.tick_params(top='off', right=' off' )

9 plt.show()

在这9行代码中第1~2行是导入需要的库,第3行是利用 pandas读取 csv数据, 在这里说明 一 下,pandas 真是 一 个非常好用的科学计算的库,而且访问数据非常便 捷。第4~5行是对中文和负号正常显示的设置。第6行画图函数,其中参数x 是利 用 pandas读取的 csv 数据, patch_artist=True, 要求用自定义颜色填充盒形图,默认 白色填充,这里就是默认值。showmeans=True 表示以点的形式显示均值。boxprops 是设置箱体属性,即填充色和边框色,flierprops 是设置异常值属性,即点的形状、 填充色和边框色,meanprops 是设置均值点的属性,即点的形状、填充色。medianprops 设置中位数线的属性,即线的类型和颜色,第7行是设置y 轴 的 范 围 。 第 8 行 是 去 除箱线图的上边框与右边框的刻度标签,所绘分析图如图5- 21所示。从箱体图中可以看到,没有异常值,数据的离散程度比较合适,差异不是很大。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《Python 编程与应用实践》_成为Python大佬_5.3.5 任意数量参数
下一篇:学习《Python网络爬虫 从入门到精通》_掌握爬虫的精髓_7.3 爬虫的部署和管理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×