任务描述
本关任务:读取 “各站点各时刻进出站客流数据.xlsx”,绘制各站点在 9 时刻进站客流的箱线图。
相关知识
为了完成本关任务,你需要掌握:1.如何读取数据和切片,2.如何绘制箱线图。
读取数据并切片
data=pd.read_excel('各站点各时刻进出站客流数据.xlsx')
#获取各站点9时刻总进站客流
nine=data.loc[data['时刻']==9,['站点编号','时刻','总进站客流']]
#定义x是站点编号,y是总进站客流
输出:10
绘制箱线图
箱线图是利用数据中的最小值、上分位数、中位数、下四分位数与最大值这5个统计量描述连续型特征变量的一种方法。箱线图的绘图函数为boxplot(x,[可选项]),其中x为待绘图的数据数组列表 示例如下:
x=nine.iloc[:,0]
y=nine.iloc[:,2]
sns.boxplot(x.values,y.values)
#定义x轴刻度和取值
plt.xticks([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],x.values,rotation=0)
#设置x轴,y轴标签
plt.xlabel('时刻')
plt.ylabel('总进站客流')
#图片标题
plt.title('各站点9时刻进站客流箱线图')
输出:
编程要求
根据提示,在右侧编辑器补充代码,并绘制出箱线图。
测试说明
平台会对你编写的代码进行测试:
import matplotlib.pyplot as plt
import pandas as pd
plt.rcParams['font.sans-serif']=['simhei']
plt.rcParams['font.family']='sans-serif'
def test():
#********** Begin *****
#读取“各站点各时刻进出站客流数据.xlsx”,绘制站点9时刻的进站客流箱线图
data = pd.read_excel('各站点各时刻进出站客流数据.xlsx')
#获取各站点9时刻总进站客流
y = data.loc[data['时刻']==9, '总进站客流']
#定义x是站点编号,y是总进站客流
plt.figure(figsize=(6,4))
plt.boxplot(y)
plt.ylabel('总进站客流')
plt.title('9时刻各站点进站客流箱线图')
plt.savefig("学员4.6/9时刻各站点进站客流箱线图.png")
#最后,采用plt.savefig函数保存图片,文件路径如下:"学员4.6/9时刻各站点进站客流箱线图.png"
#********** End **********#