使用matplotlib绘制箱型图(箱线图)及简要分析

什么是箱型图

箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,常见于品质管理。(来源:百度百科【箱型图】词条)

这里写图片描述

箱形图有5个参数:
下边缘(Q1),表示最小值;
下四分位数(Q2),又称“第一四分位数”,等于该样本中所有数值由小到大排列后第25%的数字;
中位数(Q3),又称“第二四分位数”等于该样本中所有数值由小到大排列后第50%的数字;
上四分位数(Q4),又称“第三四分位数”等于该样本中所有数值由小到大排列后第75%的数字;
上边缘(Q5),表述最大值。
第三四分位数与第一四分位数的差距又称四分位间距。

箱型图有个功能就是可以检测这组数据是否存在异常值。异常值在哪里呢?就是在上边缘和下边缘的范围之外。

绘制箱型图

数据展示

我们使用公司验证客户贷款资格的一些数据来做展示,下面是一些数据变量及其描述。

这里写图片描述

数据如下所示:

      Loan_ID  Gender Married Dependents     Education Self_Employed  ApplicantIncome  CoapplicantIncome  LoanAmount  Loan_Amount_Term  Credit_History Property_Area Loan_Status
0    LP001002    Male      No          0      Graduate            No             5849           0.000000         NaN             360.0             1.0         Urban           Y
1    LP001003    Male     Yes          1      Graduate            No             4583        1508.000000       128.0             360.0             1.0         Rural           N
2    LP001005    Male     Yes          0      Graduate           Yes             3000           0.000000        66.0             360.0             1.0         Urban           Y
3    LP001006    Male     Yes          0  Not Graduate            No             2583        2358.000000       120.0             360.0             1.0         Urban           Y
4    LP001008    Male      No          0      Graduate            No             6000           0.000000       141.0             360.0             1.0         Urban           Y
5    LP001011    Male     Yes          2      Graduate           Yes             5417        4196.000000       267.0             360.0             1.0         Urban           Y
6    LP001013    Male     Yes          0  Not Graduate            No             2333        1516.000000        95.0             360.0             1.0         Urban           Y
……
608  LP002974    Male     Yes          0      Graduate            No             3232        1950.000000       108.0             360.0             1.0         Rural           Y
609  LP002978  Female      No          0      Graduate            No             2900           0.000000        71.0             360.0             1.0         Rural           Y
610  LP002979    Male     Yes         3+      Graduate            No             4106           0.000000        40.0             180.0             1.0         Rural           Y
611  LP002983    Male     Yes          1      Graduate            No             8072         240.000000       253.0             360.0             1.0         Urban           Y
612  LP002984    Male     Yes          2      Graduate            No             7583           0.000000       187.0             360.0             1.0         Urban           Y
613  LP002990  Female      No          0      Graduate           Yes             4583           0.000000       133.0             360.0             0.0     Semiurban           N

箱型图绘制

下面的代码使用pd.read_csv()从csv文件中读取数据,并绘制箱型图:

# encoding: utf-8
import pandas as pd
import matplotlib.pyplot as plt

path = 'train.csv'
data = pd.read_csv(path, sep=',')
data.boxplot(column='ApplicantIncome', by='Education')
plt.show()

绘制的箱线图如下所示:

这里写图片描述

数据分析

从箱线图中我们可以看到,毕业生和非毕业生的平均收入没有实质性差异。但是,收入水平很高的毕业生人数更多,而这些毕业生似乎都是异常值。

猜你喜欢

转载自blog.csdn.net/yuanxiang01/article/details/79563641