Python数据分析基础与应用电子活页7-38绘制旅客年龄分布的箱形图.docx
Python数据分析基础与应用
模块
PAGE2
PAGE21
电子活页7-38绘制旅客年龄分布的箱形图
【任务7-5】绘制旅客年龄分布的箱形图
【任务描述】
从Excel文件train.xlsx中读取旅客数据,该文件主要包括3列数据,即“Name”、“Sex”和“Age”,利用“Age”列数据绘制旅客年龄分布的箱形图。
【任务实现】
在JupyterNotebook开发环境中创建t7-05.ipynb,然后在单元格中编写代码与输出对应的结果。
代码如下:
importpandasaspd
importmatplotlib.pyplotasplt
path=r.\data\train.xlsx
#默认读取Excel文件的第一个工作表
train=pd.read_excel(path)
any(train.Age.isnull())#检查年龄数据是否有缺失值
train.dropna(subset=[Age],inplace=True)#删除含有缺失值的观测值
plt.style.use(ggplot)
plt.rcParams[font.sans-serif]=SimHei
plt.rcParams[axes.unicode_minus]=False#设置正常显示中文、负号
plt.figure(figsize=(5,6))
plt.boxplot(x=train.Age,#绘图数据
notch=True,#设置中位线处凹陷
patch_artist=True,#设置用自定义颜色填充箱形图,默认以白色填充
showmeans=True,#以点的形式显示均值
boxprops={color:black,facecolor:#F43D68},#设置箱体属性
flierprops={marker:o,markerfacecolor:#59EA3A,color:#59EA3A},
meanprops={marker:D,markerfacecolor:white},
medianprops={linestyle:--,color:#FBFE00},
labels=X,#设置标签
)
plt.ylim(0,85)#设置y轴的取值范围
plt.title(旅客年龄箱形图,fontsize=xx-large,color=#DE0052)
plt.tick_params(top=off,right=off)#去掉箱形图的上方及右方边框的刻度标签
plt.show()#显示图形
输出结果如图1W所示。
图1W旅客年龄箱形图
从图1W中可以看出:旅客的平均年龄接近30岁,有50%的人年龄为20~38岁(观察箱体);中位线偏下,上相邻值到箱体的距离比下相邻值到箱体的距离长,异常值多在上限值之外,说明年龄整体右偏,有偏大的异常值在64岁以上。