资源简介 数据处理与应用大单元——excel+pandas+matplotlib巩固练习班级 姓名1.某次测试的excel文件成绩表如下图所示。(1) 已知有200名同学参加了本次测试。小明想把全体同学的信息平均分放在D202单元格,那么在D202单元格输入的公式为 =average(D2:D201)(2)现在要求用python计算“总分”列数据,然后求每个班总分的平均分(如下左图所示),最后绘制每班总分平均分的垂直柱形图(如下右图所示)。请将空白处填充完整。import pandas as pdimport matplotlib.pyplot as pltplt.rcParams["font.sans-serif"]=["SimHei"] #用于显示中文标签df=pd.read_excel("test.xlsx")score=[]for i in df.values:js=① i[3]+i[4]score.append(js)df["总分"]=scoredf1=df.groupby("班级",as_index=False)["总分"].mean()plt.title("期中技术平均分")② plt.bar (③ df1.班级 , df1.总分, width=0.5)plt.show()2.小张收集了某超市的经营数据(数据样例如下图所示),并对数据进行分析。(1)若利用Excel软件对这些数据进行处理,打开的文件界面如下图所示,要计算所有记录中的销售金额,可以通过H3单元格中的公式向下自动填充得到,则H3单元格中的公式是_____________ __(2)若利用Python编程对这些数据进行处理,可采用pandas模块中的 B (填字母:A.Series / B.DataFrame)数据结构来存储这些数据比较高效。(3)若要用Python编程分析各种商品的销售金额,绘制前总销售金额前20名的商品名称和销售金额对应条形图图表,将下面程序段空白处填充完整。import pandas as pdimport matplotlib.pyplot as pltdf=pd.read_csv("超市销售数据.csv") #用read_csv函数读取数据文件df.销售金额= df.销售单价 * ① df.销售数量g= ② df.groupby("商品名称",as_index=False) #按商品名称对数据进行分组统计ss=g.销售金额.sum() #求每个商品的总销售金额s=ss.sort_values("销售金额",③ ascending=False ).head(20)plt.rcParams['font.sans-serif']=['SimHei'] #中文显示问题plt.rcParams['axes.unicode_minus']=Falseplt.figure(num="超市前20名商品销售金额", figsize=(10,5))plt.title("销售排行榜", fontsize=20)plt. barh (s.商品名称, s.销售金额, width=0.3)plt.xlabel("前20名商品名称")plt.ylabel("前20名商品销售金额")plt.legend(['销售金额'])plt.show()3.小明收集了某超市商品价格数据,存储在“商品价格表.xlsx”文件中,其存储格式如图a 所示。他编写了Python 程序对数据做了如下整理和分析:(1) 将第 2 条记录中的单位“厅”改为“听”,将“总价”列改名为“售价”,并删除第 4 条记录,并计算各商品售价(售价=原价*0.8)(2)按“商品类别”分类统计各类商品的品种数量,并按各类商品的“品种数量”降序排序,以柱形图形式显示品种最多的 10 类商品,所建立的图表如图b 所示。Python 程序如下, 请在划线处填入合适的代码。import pandas as pdimport matplotlib.pyplot as pltplt.rcParams["font.sans-serif"]=["SimHei"] #用于显示中文标签data = pd.read_excel("商品价格表.xlsx")data.① at[1, "单位"]="听" #将第 2 条记录的单位“厅”改为“听”data = data.rename(columns = {"总价":"售价"}) #将“总价”列名称改为“售价”data = ② data.drop(3) #删除第 4 条记录data["售价"] = data["原价"] * 0.8s = data.groupby("商品类别",as_index=False).商品名称. ③ count()#按商品类别统计商品品种数量s = s.rename(columns = {"商品名称":"品种数量"})#将分组统计后的 “商品名称”列改名为 “品种数量”s = s. sort_values('品种数量',ascending=False) #按商品类别的品种数量降序排列s= s.head(10)plt.bar(s.商品类别 , s.品种数量,label="品种数量") #绘制柱形图plt.title("品种最多的 10 大商品类别", fontsize=16)plt.legend()plt.show ()4.李老师统计了某次考试各班学生的选择题答题情况(共 12 个小题,每小题答对记 2 分,答错记 0 分),数据存储在“score.xlsx”文件中,如下图所示。为计算每班选择题平均分(选择题平均分是指12个小题的平均分之和),同时找出选择题平均分最高的3个班级,李老师通过 Python 编程进行数据处理,并以图表的形式呈现结果。(1)实现上述功能的 Python 程序如下,请在划线处填入合适的代码。import pandas as pdimport matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif']=['SimHei'] #显示中文字符,字体为黑体df=pd.read_excel(" ① score.xlsx ")pjf=df.groupby("班级",as_index=False).mean()pjf= pjf.drop("考号",axis=1)pjf["选择题平均分"]= ② pjf.sum(axis=1)y1=pjf.min()["选择题平均分"]y2=pjf.max()["选择题平均分"]px=pjf.sort_values("选择题平均分",ascending=False)print(px)s= px.head(3)plt.figure()plt.bar(s.班级, ③ s.选择题平均分 或 s["选择题平均分"] )plt.title("选择题平均分最高的 3 个班级")plt.ylim(y1-0.2,y2+0.2)plt.yticks(np.linspace(y1-0.2,y2+0.2,20)) #设置 y 坐标轴的刻度plt.show()(2)运行该程序段后,绘制出的图表下图所示,则该图表的类型是 B(填字母:A.线形图 /B.垂直柱形图 /C.水平柱形图 )。数据处理与应用大单元——excel+pandas+matplotlib巩固练习班级 姓名1. 某次测试的excel文件成绩表如下图所示。(1) 已知有200名同学参加了本次测试。小明想把全体同学的信息平均分放在D202单元格,那么在D202单元格输入的公式为(2)现在要求用python计算“总分”列数据,然后求每个班总分的平均分(如下左图所示),最后绘制每班总分平均分的垂直柱形图(如下右图所示)。请将空白处填充完整。import pandas as pdimport matplotlib.pyplot as pltplt.rcParams["font.sans-serif"]=["SimHei"] #用于显示中文标签df=pd.read_excel("test.xlsx")score=[]for i in df.values:js=①score.append(js)df["总分"]=scoredf1=df.groupby("班级",as_index=False)["总分"].mean()plt.title("期中技术平均分")② (③ , df1.总分, width=0.5)plt.show()2.张收集了某超市的经营数据(数据样例如下图所示),并对数据进行分析。(1)若利用Excel软件对这些数据进行处理,打开的文件界面如下图所示,要计算所有记录中的销售金额,可以通过H3单元格中的公式向下自动填充得到,则H3单元格中的公式是_____________ __(2)若利用Python编程对这些数据进行处理,可采用pandas模块中的 (填字母:A.Series / B.DataFrame)数据结构来存储这些数据比较高效。(3)若要用Python编程分析各种商品的销售金额,绘制前总销售金额前20名的商品名称和销售金额对应条形图图表,将下面程序段空白处填充完整。import pandas as pdimport matplotlib.pyplot as pltdf=pd.read_csv("超市销售数据.csv") #用read_csv函数读取数据文件df.销售金额= df.销售单价 * ①g= ② #按商品名称对数据进行分组统计ss=g.销售金额.sum() #求每个商品的总销售金额s=ss.sort_values("销售金额",③ ).tail(20)plt.title("销售金额前10名的商品")plt.rcParams['font.sans-serif']=['SimHei'] #中文显示问题plt.rcParams['axes.unicode_minus']=Falseplt.figure(num="超市前20名商品销售金额", figsize=(10,5))plt.title("销售排行榜", fontsize=20)plt. (s.商品名称, s.销售金额, width=0.3)plt.xlabel("前20名商品名称")plt.ylabel("前20名商品销售金额")plt.legend(['销售金额'])plt.show()3.小明收集了某超市商品价格数据,存储在“商品价格表.xlsx”文件中,其存储格式如图a 所示。他编写了Python 程序对数据做了如下整理和分析:(1) 将第 2 条记录中的单位“厅”改为“听”,将“总价”列改名为“售价”,并删除第 4 条记录,并计算各商品售价(售价=原价*0.8)(2)按“商品类别”分类统计各类商品的品种数量,并按各类商品的“品种数量”降序排序,以柱形图形式显示品种最多的 10 类商品,所建立的图表如图b 所示。Python 程序如下, 请在划线处填入合适的代码。import pandas as pdimport matplotlib.pyplot as pltplt.rcParams["font.sans-serif"]=["SimHei"] #用于显示中文标签data = pd.read_excel("商品价格表.xlsx")data.① #将第 2 条记录的单位“厅”改为“听”data = data.rename(columns = {"总价":"售价"}) #将“总价”列名称改为“售价”data = ② #删除第 4 条记录data["售价"] = data["原价"] * 0.8s = data.groupby("商品类别",as_index=False).商品名称. ③#按商品类别统计商品品种数量s = s.rename(columns = {"商品名称":"品种数量"})#将分组统计后的 “商品名称”列改名为 “品种数量”s = s. #按商品类别的品种数量降序排列s= s.head(10)plt.bar(s.商品类别 , s.品种数量,label="品种数量") #绘制柱形图plt.title("品种最多的 10 大商品类别", fontsize=16)plt.legend()plt.show ()4.李老师统计了某次考试各班学生的选择题答题情况(共 12 个小题,每小题答对记 2 分,答错记 0 分),数据存储在“score.xlsx”文件中,如下图所示。为计算每班选择题平均分(选择题平均分是指12个小题的平均分之和),同时找出选择题平均分最高的3个班级,李老师通过 Python 编程进行数据处理,并以图表的形式呈现结果。(1)实现上述功能的 Python 程序如下,请在划线处填入合适的代码。import pandas as pdimport matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif']=['SimHei'] #显示中文字符,字体为黑体df=pd.read_excel(" ① ")pjf=df.groupby("班级",as_index=False).mean()pjf= pjf.drop("考号",axis=1)pjf["选择题平均分"]= ②y1=pjf.min()["选择题平均分"]y2=pjf.max()["选择题平均分"]px=pjf.sort_values("选择题平均分",ascending=False)print(px)s= px.head(3)plt.figure()plt.bar(s.班级, ③ )plt.title("选择题平均分最高的 3 个班级")plt.ylim(y1-0.2,y2+0.2)plt.yticks(np.linspace(y1-0.2,y2+0.2,20)) #设置 y 坐标轴的刻度plt.show()(2)运行该程序段后,绘制出的图表下图所示,则该图表的类型是(填字母:A.线形图 /B.垂直柱形图 /C.水平柱形图 )。 展开更多...... 收起↑ 资源列表 浙教版新教材(2019)《数据与计算》选考一轮复习 学考复习配套练习——excel+pandas+matplotlib巩固练习答案.docx 浙教版新教材(2019)《数据与计算》选考一轮复习 学考复习配套练习——excel+pandas+matplotlib模块数据处理与应用巩固练习.docx