高中信息技术学考复习15pandas处理数据训练含答案_第1页
高中信息技术学考复习15pandas处理数据训练含答案_第2页
高中信息技术学考复习15pandas处理数据训练含答案_第3页
高中信息技术学考复习15pandas处理数据训练含答案_第4页
高中信息技术学考复习15pandas处理数据训练含答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

训练15pandas处理数据1.下列有关pandas-Series的说法错误的是()A.包含一个数组的数据和一个与数据关联的索引,是二维数据结构B.其索引值默认是从0起递增的整数C.可用列表、字典等创建Series数据结构D.其索引可以指定,类型可以为字符串型2.下列有关pandas-DataFrame的说法错误的是()A.是一种二维数据结构B.由1个索引列和若干个数据列组成C.同一个DataFrame对象的数据列类型必须相同D.可看作共享同1个index的Series集合3.不能实现选取df对象前5行数据记录的语句是()A.df.head() B.df.head(5)C.df[0:5] D.df[5]回答下列第4~6题。4.某DataFrame对象df中包含“准考证号”“班级”“姓名”“文”“数学”…“总分”等10个数据列、多个数据行,能获取对象df第3个数据的“姓名”内容的语句有()①df[2,'姓名']②df.at[2,'姓名']③df[2]['姓名']④df['姓名'][2]⑤df.姓名[2]A.①②③ B.①②④C.②④ D.②④⑤5.如第4题对象df,能够降序排列输出总分大于等于600分的学生数据的代码组合是()①df=df.sort_values(″总分″,ascending=True)②df=df.sort_values(″总分″,ascending=False)③df=df[″总分″,>=600]④df=df[df[″总分″]>=600]⑤print(df)A.①③⑤ B.①④⑤C.②③⑤ D.②④⑤6.如第4题对象df1,下列语句中,可以以班级为单位,统计出各班级“总分”的平均值的有()①df.groupby('班级').mean()②df.groupby('总分').mean()③df.groupby('班级')['总分'].mean()④df.groupby('班级').总分.mean()⑤df.groupby('班级').describe()A.①②③④⑤ B.①②③⑤C.①③④⑤ D.①②③7.有如下Python程序段。importpandasaspdlist=[['周欣怡','湖州',15,646],['王培新','杭州',16,598],['张佳明','杭州',16,609],['林逢春','嘉兴',15,547],['朱梁栋','湖州',16,588],['陈清瑞','嘉兴',15,571]]inf=pd.DataFrame(list,columns=['姓名','地区','年龄','总分'])print(inf)print('_'20)print(inf.groupby('地区',as_index=True).mean())执行该程序段后,输出的结果是(单选,填字母)。

8.模块用于科学计算(随机数、数组运算等);模块基于numpy实现,主要用于数据的处理和分析;用于绘图库。

9.小明从某网站上收集了2022年4月部分生产资料市场价格变动情况数据,数据集保存在“shuju.xlsx”中,格式如图a所示。图a为分析相关类别生产资料的涨跌幅情况,小明编写了以下Python程序。importpandasaspdimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']#正常显示中文字体df=pd.read_excel(″shuju.xlsx″)df[″涨跌幅″]=

(1)通过数据计算添加涨跌幅列,请在划线处填写实现的方式。计算公式为:涨跌幅=(本期价格-上期价格)/本期价格100。(2)若要对表格中的数据进行分类统计,并求其平均涨跌幅。请完善以下代码:g=df.groupby(″类别″,as_index=False)df1=

df1=df1.sort_values(″涨跌幅″,ascending=False)(3)根据上述操作结果,制作一份显示类别涨跌幅平均值的图表,其格式如图b所示。各种类别对比分析图图b请完善以下代码。plt.figure(figsize=(8,4))plt.title(″各种类别对比分析图″)plt.bar(①,df1[″涨跌幅″],label='涨跌幅')

plt.xlabel(″类别″)plt.ylabel(②)

plt.legend()plt.show()10.某市普通高中选课数据如下图所示,学生从技术、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。图a各学校技术选考人数对比图b为分析各学校的学生选科数据,编写了如下程序:importpandasaspdimportmatplotlib.pyplotaspltplt.rc'font',{'family':'SimHei'}plt.rcParams['axes.unicode_minus']=Falsedf=pd.read_csv(″xk73.csv″)(1)若要了解市里所有选考技术的学生情况,请在划线处给出合适代码,筛选出有选技术科目的同学信息:print()

(2)使用Python编程分析每所学校各科目选考的人数(不同的学校代码表示不同的学校)。请在划线处填入合适的代码。g=df.groupby(①,asindex=false)#按学校进行分组

s2=②#按学校分别统计各科目的选考人数

s2.sort_values(″技术″,ascending=False)#按技术选考人数进行降序排序(3)若要做一个各学校技术选考人数的分析,添加如下程序段:plt.figure(figsize=(10,5))a=list(s2.学校代码)plt.xticks(range(1en(s2.学校代码)),a,rotation=45)#将各学校代码按降序顺序显示在x轴上p1t.①(range(len(s2.学校代码)),②)#对各学校及对应技术选考人数进行绘图

plt.xlabel(″学校″)plt.ylabel(″技术选考人数″)plt.title(″各学校技术选考人数比对″)plt.show()划线处的代码应为(单选,填字母)。

A.①barh②df.技术B.①plot②df.技术C.①bar②s2.技术D.①scatter②s2.技术11.黄老师获取了学校高三年级学生某次考试数据,并使用Excel软件、Python程序进行数据处理,如图所示。(1)Excel文件“exam.xlsx”中的数据为(选填:结构化数据/半结构化数据/非结构化数据)。

(2)黄老师将文件存储为“exam.xlsx”,并编写了如下Python程序对数据进一步分析。请将划线处代码补充完整。importpandasaspdimportmatplotlib.pyplotaspltdf=pd.read_excel(″exam.xlsx″)#统计年级物化生政史地技各个科目的选课人数(本次考试无人缺考)foriindf.columns[5:12]:km=irenshu=df[km].count()print(″选″,km,″的人数为:″,renshu)#制作年级男女生语文平均分对比图表df2=df.groupby(″性别″,as_index=False).①

plt.bar(df2.性别,②)

plt.③(″男女生语文平均分比较″)

plt.xlabel(″性别″)plt.ylabel(″语文平均分″)plt.show()12.某地区要对辖区内高中学生的高考选科情况进行统计,前期先用Excel收集各个学校每个学生的选科数据,界面如图所示。用Python处理上述Excel文件,统计每个学校各个学科的选科情况,并用图表展示学生人数最多的5个学校的物理学科与政治学科人数,代码如下:importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltdf=pd.read_excel(″xk73.xlsx″)#读数据到pandas的DataFrame结构中sc=df.groupby(①,as_index=False).count()#按学校分组计数

sc=sc.drop('姓名',axis=1)#删除“姓名”列sc=sc.rename(columns={'学生编号':'总人数'})#修改“学生编号”为“总人数”sc_sort=sc.sort_values(″总人数″,ascending=False)#对分组计数结果进行排序x=np.arange(1,6)#产生列表[1,2,3,4,5]y1=sc_sort.head()[″物理″]②

plt.figure(figsize=(8,4))plt.bar(x-0.2,y1,label=″wuli″,width=0.4)plt.bar(x+0.2,y2,label=″zhengzhi″,width=0.4)plt.ylim(50,400)plt.legend()df_sum=pd.DataFrame(data=sc.sum()).Tdf_sum['学校代码']='合计'③#显示图表

result=sc.append(df_sum)#增加“合计”行result.to_excel(″学校人数统计.xlsx″)#保存结果在划线处填写合适代码,完善程序。

训练15pandas处理数据1.A解析是一维数据结构。2.C解析同一个DataFrame对象的不同数据列类型可以不同。3.D解析head(n)函数返回DataFrame前n行数据,若不设置参数n,则默认返回前5行。df[0:5]选取df对象前5行数据,df[5]选取df对象第6列数据。4.D解析可以通过at方法获取DataFrame对象单个数据值,格式为df.at[index,column],所以②正确;或者根据列标题先获取整列,然后通过行索引获取单个数据值,其中获取一列数据可以通过字典记法或属性检索,第三行数据的行索引是2,所以④⑤均正确。5.D解析sort_values()函数中,参数ascending,默认值为True,表示升序,为False时是降序;对于DataFrame对象,可以通过布尔型数据选取满足条件的行,正确写法为df[df[″总分″]>=600];最后通过语句⑤输出结果。6.C解析统计各班级学生“总分”平均值需要按照“班级”分组计算。df.groupby('班级').mean()#按“班级”分组,计算各纯数值列平均值。df.groupby('总分').mean()#按“总分”分组,计算各纯数值列平均值。df.groupby('班级')['总分'].mean()#按“班级”分组,并选取“总分”列计算平均值。df.groupby('班级').总分.mean()#按“班级”分组,并选取“总分”列计算平均值。df.groupby('班级').describe()#按“总分”分组,计算各纯数值列的平均值、最大值等统计数据。7.B解析as_index:为True时自动把第1列作为了index,为False时默认索引0、1、2…。8.numpypandasmatpoltlib9.(1)(df.本期价格-df.上期价格)/df.本期价格100(2)g.mean()(3)①df[″类别″]或df.类别②″涨跌幅″解析(1)根据数量关系确定计算公式。(2)计算平均值使用mean()函数。(3)①观察题图b可知需要填横坐标数据来源。②此处需要填写横坐标y的标签(ylabel),由题图可知应该是“涨跌幅”。10.(1)df[df.技术==1](或df[df[″技术″]==1])(2)①″学校代码″②g.sum()或g.count()(3)D解析本题考查pandas及绘图模块知识。(1)Dataframe中,要对某列进行筛选(查找并显示符合条件的值),可以通过df[df[″技术″]==1]或df[df.技术==1]来实现。(2)此处考查pandas中分组函数groupby的用法。依题意,本条语句按学校进行分组,分组的字段名应为“学校代码”,故①处填″学校代码″;①处代码已将分组后的对象赋值组变量g,②空对其进行计数,故填:g.count()。(3)观察题图b,可知当前是散点图(scatter),故选D。11.(1)非结构化数据(2)①mean()②df2.语文③title解析(1)Excel中的数据是属于结构化数据(每列数据类型均统一)。(2)①此处求平均值,因此使用mean()函数。②根据性别分组后,df2对象中‘语文’列存放了男女生语文成绩平均分,创建柱形图,x轴为性别,y轴为男女生语文成绩平均分,故答案为df2.语文。③此处显示的标题,因此答案如上。12.①″学校代码″②y2=sc_sort.head()[″政治″](或y2=sc_sort.head(5)[″政治″])③plt.show()解析本题考查数据处理知识。(1)①题干说明需要“统计每个学校各个学科的选科情况”,所以需要根据“学校编号”分类汇总统计各学校的选科情况,此空填写分组的关键字,答案为“学校代码”。②根据上下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论