高中信息技术学考复习第4章数据处理与应用课时15pandas处理数据课件_第1页
高中信息技术学考复习第4章数据处理与应用课时15pandas处理数据课件_第2页
高中信息技术学考复习第4章数据处理与应用课时15pandas处理数据课件_第3页
高中信息技术学考复习第4章数据处理与应用课时15pandas处理数据课件_第4页
高中信息技术学考复习第4章数据处理与应用课时15pandas处理数据课件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第4章课时15pandas处理数据信息技术课标梳理·微知著教材重点课标要求学业质量水平pandas数据处理1.掌握Series数据结构、DataFrame数据结构和DataFrame常用函数2.能利用软件工具或平台准确而有序地对数据进行整理、组织、计算与呈现2-2教材研析·固基础1

Python进行数据处理时常用的扩展模块1.numpy:科学计算(随机数、数组运算等)2.scipy:基于numpy构建。增强了高等数学、信号处理、图像处理、统计等处理能力。3.matpoltlib:绘图库4.pandas:基于numpy实现,主要用于数据的处理和分析。(1)Pandas提供了Series和DataFrame两种数据结构完成数据的整理、计算、统计、分析及简单可视化。(2)导入pandas模块:importpandasaspd(导入pandas模块,pd为别名)典例1下列扩展模块中用于数据处理和分析的是()A.Numpy

B.scipyC.matpoltlib

D.pandasD2SeriesSeries是一种一维数组的数据结构,由一个数组的数据和一个与数据关联的索引(index),索引值默认是从0起递增的整数。属性说明indexSeries的下标索引,其值默认是从0起递增的整数values存放Series值的一个数组①输入数据及输出

代码结果importpandasaspd#导入pandas库,别名为pds1=pd.Series([166,178,180])print(s1)0________1661________1782________180s2=pd.Series([166,178,180],index=['s01','s02','s03'])print(s2)s01________166s02________178s03________180dtype:int64s2=pd.Series([166,178,180],\index=['s01','s02','s03'])print(s2.values)foriins2.index:print(i)[166178180]s01s02s03#输出具体索引号需要通过循环输出②修改数据

s2=pd.Series([166,178,\180],index=['s01','s02','s03'])s2[1]=188s2['s03']=222print(s2.values)[166188222]#可通过默认索引号或指定索引号修改其数据值典例2编写Python小程序建立字典存储如图所示Excel中的选手数据;并利用字典生成pandas的Series对象;输出Series对象,并自动进入修改选手年龄的状态(输入选手的姓名、新的年龄值),当输入为0时,退出修改状态;然后输出年龄审核通过(不超过15岁)的选手名单。程序运行界面和代码如下,请在划线处填上合适的代码。importpandasaspddic={'姚佳云':15,'庄怡婷':16,'孙雁\婷':17,'马能':16,'谢震宇':16,'傅怿成':\17,'沈雯雯':15,'王婧':16}inf=①_________________print(inf)whileTrue:xm=input('请输入需要修改年龄\的人名:') if②_______________:

break

nl=int(input('请输入需要修改的\年龄值:'))③_________________pd.Series(dic)xm=='0'inf[xm]=nl

print(inf)ans=''foriininf.index:if④__________________:

ans=ans+''+iprint('通过年龄审核的选手是:',ans)inf[i]<=15解析

①用字典创建一维Series数据对象,参数为对象名。②当输入的姓名xm为字符‘0’时,结束修改状态。③修改Series对象值的格式为:对象名[index]=新值。④for

i

in

inf.index:说明for遍历Series对象inf的索引,i为每次循环遍历到的index,与之相应的value为inf[i],年龄不能大于15岁。3DataFrame

1.概念DataFrame是一种二维的数据结构,类似于关系表的表格型数据结构,由1个索引列(index)和若干个数据列组成,每个数据列可以是不同的类型。DataFrame可以看作是共享同一个index的Series的集合。其中,每列中的元素类型必须一致,而不同的列可以拥有不同的元素类型。创建DataFrame对象的方法很多,通常用一个相等长度的列表或字典来创建。2.DataFrame对象常用属性属性说明indexDataFrame的行索引columns存放各列的列标题values存放值的二维数据T行列转置3.常用函数

函数名函数功能使用方法示例count()返回非空(NaN)数据项的数量df1.count()

每一列非空个数df1.count(axis=1)

每一行非空数df1['姓名'].count()

“姓名”列非空

个数sum()求和,通过axis=0/1确定求和轴向(axis=0纵向求和,axis=1横向求和)df1.sum()

axis默认为0,纵向求和df1.sum(axis=1) 横向求和df1.语文.sum() 仅语文列求和mean()求平均值,通过axis=0/1确定行列用法同上max()返回最大值用法同上min()返回最小值用法同上describe()返回各列的基本描述统计值,包含非空项数、平均数、标准差、最大值、最小值及4分位差df1.describe()df1.语文.describe()head()返回DataFrame前n个数据记录(若不设置n,则默认返回前5行)df1.head(2)

返回前2行df1.head()

返回前5行tail()返回DataFrame后n个数据记录df1.tail(2)

返回后2行df1.tail()

返回后5行groupby()对各列或各行中的数据进行分组,然后可对其中每一组数据进行不同的操作df1.groupby(″性别″)按性别分类df1.groupby(″性别″).mean()按性别求平均值sort_values()排序,通过axis=0/1确定行列,默认为0(列)通过ascending=True/False设置升序还是降序,默认为True(升序)df1.sort_values(″语文″,ascending=False)按语文成绩降序排序drop()删除数据,通过axis=0/1确定行列,默认为0(行)注意:不改变原有对象的数据df2=df1.drop(2)删除第3行df3=df1.drop(″性别″,axis=1)删除“性别”列append()在指定对象的结尾插入内容注意:不改变原有对象的数据data1={'姓名':'李二','性别':'男','语文':143,'数学':133,'英语':136}df5=df1.append(data1,ignore_index=True)在结尾增加一行数据insert()在指定位置插入列注意:改变原有对象的数据df1.insert(loc=0,column='出生年份',value=[2003,2002,2001,2002])在第一列插入“出生年份”列rename()修改列名或者索引注意:不改变原有对象的数据df5=df1.rename(columns={″姓名″:″您的姓名″,″性别″:″您的性别″})

改变列名df6=df1.rename(index={0:″a″,1:″b″})改变索引名4.主要操作①创建DataFrame对象方法1,使用相等长度列表的字典构建一个DataFrame对象。方法2,直接读取二维数据文件创建DataFrame对象。pd.read_csv(filename)#从CSV文件导入数据pd.read_excel(filename)#从Excel文件导入数据df.to_csv(filename)#导出数据到CSV文件df.to_excel(filename)#导出数据到Excel文件②查看DataFrame数据属性

③查看DataFrame常用方法

④axis(轴说明)及行列操作

⑤分组计算

典例3(2023浙江7月学考)某省2022年全年气象灾害预警数据保存在文件“qxyj.xlsx”中,部分数据如图所示,编写Python程序,统计全年发布次数最多的5种气象预警。importpandasaspddf=pd.read_excel(″qxyj.xlsx″)

#读文件中的数据df=df.drop([″预警发布单位″,″预警等\级″,″预警发布时间″],axis=1)

#删除列________________print(df_s[0:5])方框中代码由下列语句中的部分语句组成:①df_g=df.groupby(″预警名称″,as_index=False).sum()

#分组求和②df_g=df_s.groupby(″次数″,as_index=False).sum()③df_s=df.sort_values(″次数″,ascending=True)

#升序排序④df_s=df_g.sort_values(″次数″,ascending=False)要实现上述功能,下列选项中正确的是()A.①④ B.①③

C.②④ D.③②A解析

本题考查Pandas数据处理知识。根据题意,要求统计全年发布次数最多的5种气象预警,因此在使用分组函数groupby()时,分组的依据肯定是“预警名称”,而不是“次数”,故在①②中选择①。从代码print(df_s[0:5])可知,输出的是最前面的五条记录,从而可以判断数据是按照“次数”降序排序的,sort_values函数的参数ascending=False表示降序,故在③④中选择④。故选A。典例4某DataFrame对象df,包含“商品编码”“销售价格”“销售日期”等数据列。下列语句中,能将df对象中的数据以“商品编码”为关键字降序排序的是()A.df.sort_index(axis=1,ascending=True)B.df.sort_values('商品编码',ascending=False)C.df.sort_values('商品编码',ascending=True,inplace=True)D.df.sort_values('商品编码',ascending=False,inplace=True)解析

分析题目,发现解决问题的关键在于将df对象中的数据按“商品编码”从大到小排列。df对象中的数据采用DataFrame结构组织,因此可以使用sort_values()函数按“商品编码”降序排列df对象中的数据。参数ascending=False为降序,inplace=True排序结果替换df中数据,因此本题答案为D。D典例5小蓝利用Excel收集了某次足球比赛各国球队相关数据,并保存为“足球赛.xlsx”文件,如图a所示。然后他利用pandas模块进行数据处理,分析小组赛中各支球队的表现。(提示:该比赛共分成8个小组,每个小组4支球队,组内各队之间进行一场比赛,每支球队共比赛3场)图a(1)(多选题)小蓝在处理数据前,首先进行了数据整理,则下列步骤正确的是()(注:全部选对的得2分,选对但不全的得1分,不选或错选的得0分)A.E4单元格中的数据存在逻辑错误,需要改成3B.第7行和第8行两行数据重复,直接删除其中一行即可C.英格兰队的所在行存在数据缺失,故无法确定具体数值D.阿根廷所在小组的组别格式不一致,应当将其改成CAD(2)小蓝利用pandas模块处理图a中的表格数据,其中部分Python程序代码如下。在处理数据的过程中,小蓝提出了以下三项要求。请根据他的要求在划线处填入合适的代码。①首先计算各球队的小组赛积分。积分计算规则为:胜一场得3分,平局得1分,负一场得0分。②然后对各球队进行小组排名。小组排名规则为:按积分降序排序。③最后统计各小组的平均进球数,并绘制成如图b所示的图表。图bimportpandasaspdimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=\

['SimSun']#设置字体为宋体df=pd.read_excel('足球赛.xlsx')df['积分']=①____________________________dfrank=df.sort_values(②_________,\ascending=False)

print(dfrank)df2=df.groupby(″组别″).mean()plt.bar(③________________________,label=″平均\进球″)

温馨提示

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

评论

0/150

提交评论