所属成套资源:全套高中信息技术学考复习必修1数据与计算教学课件
高中信息技术学考复习必修1数据与计算第四章课时2编程处理数据教学课件
展开
这是一份高中信息技术学考复习必修1数据与计算第四章课时2编程处理数据教学课件,共60页。PPT课件主要包含了答案C,常用属性,常用函数等内容,欢迎下载使用。
考点1Pythn进行数据处理时常用的扩展模块1.numpy:科学计算(随机数、数组运算等基础函数)2.scipy:基于numpy构建。增强了高等数学、信号处理、图像处理、统计等处理能力。3.matpltlib:绘图库4.pandas:基于numpy实现,主要用于数据的处理和分析。(1)Pandas提供了Series和DataFrame两种数据结构完成数据的整理、计算、统计、分析及简单可视化。(2)导入pandas模块:imprt pandas[as pd](导入pandas模块,一般用pd替代,不替代时可省略括号内内容)
典例1下列扩展模块中用于绘图的是( )A.numpyD.pandas
考点2Series1.概念:是一种一维的数据结构,包含一个数组的数据和一个与数据关联的索引(index),索引值默认是从0起递增的整数。2.要点(1)列表、字典等可以用来创建Series数据结构。(2)与列表不同的是,Series的索引可以指定,类型可以为字符串型。
3.主要操作(1)用列表创建Series对象①格式:如下对象名=pd.Series(values,index)②常用属性
③范例:创建1个Series结构类型的对象s1,存储6名选手的姓名。
imprt pandas as pds1=pd.Series(['周欣怡','王培新','张佳明','林逢春','朱梁栋','陈清瑞'])print(s1)
(2)指定索引值①格式对象名=pd.Series(values,index=索引列表)②范例imprt pandas as pd
xm=['周欣怡','王培新','张佳明','林逢春','朱梁栋','陈清瑞']inf=pd.Series(xm,index=['x1','x2','x3','x4','x5','x6'])print(inf)
(3)选取Series对象中的值①格式:Series对象[索引]②范例imprt pandas as pdxm=['周欣怡','王培新','张佳明','林逢春','朱梁栋','陈清瑞']sy=['x1','x2','x3','x4','x5','x6']inf=pd.Series(xm,index=sy)print(inf)print('-'*30) print(inf['x5'])
(4)修改Series对象中的值①格式Series对象[索引]=新值②范例imprt pandas as pdxm=['周欣怡','王培新','张佳明','林逢春','朱梁栋','陈清瑞']sy=['x1','x2','x3','x4','x5','x6']inf=pd.Series(xm,index=sy)print(inf)print('-'* 25)inf['x5']='姚晓倩'print(inf)
(5)用字典创建Series对象①原理:将字典的键作为索引index,字典值为values。②格式对象名=pd.Series(字典名)③范例imprt pandas as pddic={'x1':'周欣怡','x2':'王培新','x3':'张佳明','x4':'林逢春','x5':'朱梁栋','x6':'陈清瑞'}inf=pd.Series(dic)print(inf)
(6)用字典部分数据创建Series对象①原理:将字典的键作为索引index,字典键为values。②格式对象名=pd.Series(字典名,index=[字典中的部分键])③范例imprt pandas as pddic={'x1':'周欣怡','x2':'王培新','x3':'张佳明','x4':'林逢春','x5':'朱梁栋','x6':'陈清瑞'}inf=pd.Series(dic,index=['x3','x5'])print(inf)
(7)遍历index①格式fr i in Series对象名.index:②范例imprt pandas as pdxm=['周欣怡','王培新','张佳明','林逢春','朱梁栋','陈清瑞']sy=['x1','x2','x3','x4','x5','x6']inf=pd.Series(xm,index=sy)fr i in inf.index:print(i)
(8)遍历values①格式(对象名默认遍历值)fr i in Series对象名.values:或者fr i in Series对象名②范例imprt pandas as pdxm=['周欣怡','王培新','张佳明','林逢春','朱梁栋','陈清瑞']sy=['x1','x2','x3','x4','x5','x6']inf=pd.Series(xm,index=sy)#下行语句与fr i in inf等价(fr i in Series对象名默认为遍历values)fr i in inf.values:print(i)
典例2编写Pythn小程序建立字典存储如图所示Excel中的选手数据;并利用字典生成pandas的Series对象;输出Series对象,并自动进入修改选手年龄的状态(输入选手的姓名、新的年龄值),当输入为0时,退出修改状态;然后输出年龄审核通过(不超过15岁)的选手名单。程序运行界面和代码如下,请在划线处填上合适的代码。
imprt pandas as pddic={'姚佳云':15,'庄怡婷':16,'孙雁婷':17,'马能':16,'谢震宇':16,'傅怿成':17,'沈雯雯':15,'王婧':16}inf= print(inf)while True:
xm=input('请输入需要修改年龄的人名:')if : breaknl=int(input('请输入需要修改的年龄值:')) print(inf)ans=″fr i in inf.index:if : ans=ans+″+iprint('通过年龄审核的选手是:',ans)
①答案 pd.Series(dic) 解析 用字典创建一维Series数据对象,参数为对象名②答案 xm=='0' 解析 当输入的姓名xm为字符‘0’时,结束修改状态③答案 inf[xm]=nl 解析 修改Series对象值的格式为:对象名[index]=新值④答案 inf[i]15])print('_' * 25)print(df[df['姓名']='张佳明'])
(15)最后添加一行数据①格式:对象名.append(data,ignre_index=True)·data为字典形式的需要添加的行数据。·ignre_index=True→添加的数据行和原有数据合并后,按0、1、2、…顺序重新设置索引,忽略旧索引。·添加数据到新的DataFrame数据对象中。②范例:在当前数据行最后添加一行数据: '林逢春' '嘉兴' 15。data={'姓名':['周欣怡','王培新','张佳明'],'籍贯':['杭州','嘉兴','湖州'],'年龄':[15,16,15]}df=pd.DataFrame(data,clumns=['姓名','籍贯','年龄'])print(df)print('_' * 25)print(df.append({'姓名':'林逢春','籍贯':'嘉兴','年龄':15},ignre_index=True))
(16)删除行—drp①格式:对象名.drp(删除行的索引值)②范例:删除第2行(索引为1的行)数据imprt pandas as pddata={'姓名':['周欣怡','王培新','张佳明'],'籍贯':['杭州','嘉兴','湖州'],'年龄':[15,16,15]}df=pd.DataFrame(data,clumns=['姓名','籍贯','年龄'])print(df)print('_' * 25)print(df.drp(1))
(17)删除列—drp①删除1列格式:对象名.drp(删除列的列标签,axis=1)·axis=1→跨列②范例:删除“年龄”列数据imprt pandas as pddata={'姓名':['周欣怡','王培新','张佳明'],'籍贯':['杭州','嘉兴','湖州'],'年龄':[15,16,15]}df=pd.DataFrame(data,clumns=['姓名','籍贯','年龄'])print(df)print('_' * 25)print(df.drp('年龄',axis=1)) #axis=1→跨列
③删除多列格式:对象名.drp([删除列的列标签],axis=1)·删除的多列列标签构成一个列表。④范例:删除“年龄”和“籍贯”列数据。imprt pandas as pddata={'姓名':['周欣怡','王培新','张佳明'],'籍贯':['杭州','嘉兴','湖州'],'年龄':[15,16,15]}df=pd.DataFrame(data,clumns=['姓名','籍贯','年龄'])print(df)print('_' * 25)print(df.drp(['年龄','籍贯'],axis=1))
(18)删除列—del①格式del对象名[删除列的列标签]②范例:删除“年龄”列数据imprt pandas as pddata={'姓名':['周欣怡','王培新','张佳明'],'籍贯':['杭州','嘉兴','湖州'],'年龄':[15,16,15]}df=pd.DataFrame(data,clumns=['姓名','籍贯','年龄'])print(df)print('_' * 25)del df['年龄']print(df)
pandas中使用 drp 和 del删除列数据的区别在Pythn中del 和drp方法都能够删除dataframe中的列数据,但两者也有着些许区别。·首先del属于Pythn的内置函数,drp属于pandas中的内置函数。·drp对列和行都进行操作;del仅对列进行操作。·drp一次可以处理多个项目;del一次只能操作一个。·drp可以就地操作或返回副本;del仅是就地操作。·两种函数在执行效率上很接近,但是在较大数据上,drp函数优势更明显,尤其是在处理多列数据时。
(19)指定位置插入列(insert)①格式:对象名.insert(插入位置(int),插入列的列编号,[插入列的值列表])②注意点:插入位置从0开始计数→第1列前插入1列,则插入位置为0。③范例:第1列数据前插入“编号”列数据['x1','x2','x3']。imprt pandas as pddata={'姓名':['周欣怡','王培新','张佳明'],'籍贯':['杭州','嘉兴','湖州'],'年龄':[15,16,15]}df=pd.DataFrame(data,clumns=['姓名','籍贯','年龄'])print(df)print('_' * 25)df.insert(0,'编号',['x1','x2','x3'])print(df)
(20)重命名列①格式对象名.rename(clumns={原列标签1:新列标签1,原列标签2:新列标签2,…原列标签n:新列标签n},inplace=True)·inplace参数的理解:? inplace=True:修改一个对象时,不创建新的对象,直接对原始对象进行修改;? inplace=False:对数据进行修改,创建并返回新的对象承载其修改结果。
②范例:将“name”列的列标签重命名为“姓名”,“age”列的列标签重命名为“年龄”imprt pandas as pddata={'name':['周欣怡','王培新','张佳明'],'籍贯':['杭州','嘉兴','湖州'],'age':[15,16,15]}df=pd.DataFrame(data)print(df)print('_' * 25)df.rename(clumns={'name':'姓名','age':'年龄'},inplace=True)print(df)
(21)重命名行索引①格式对象名.rename(index={原索引:新索引,原索引,2:新索引,…原索引n:新索引n},inplace=True)②范例:将原默认行索引,从0、1、2重命名为x1、x2、x3。imprt pandas as pddata={'姓名':['周欣怡','王培新','张佳明'],'籍贯':['杭州','嘉兴','湖州'],'年龄':[15,16,15]}df=pd.DataFrame(data)print(df)print('_' * 25)df.rename(index={0:'x1',2:'x3'},inplace=True)print(df)
(22)行索引(行标签)、列标签设置单个值(set_value)→该命令在后继版本中即将被弃用。①格式:对象名.set_value(行索引/行标签,列标签,设置的值)②范例:将第3行(索引值为2)“年龄”列的值改为16imprt pandas as pddata={'姓名':['周欣怡','王培新','张佳明'],'籍贯':['杭州','嘉兴','湖州'],'年龄':[15,16,15]}df=pd.DataFrame(data)print(df)print('_' * 25)df.set_value(2,'年龄',16)print(df)
(23)行索引(行标签)、列标签设置单个值(at)①格式:对象名.at[行索引/行标签,列标签]=设置的值②范例:将第3行(索引值为2)“年龄”列的值改为16imprt pandas as pddata={'姓名':['周欣怡','王培新','张佳明'],'籍贯':['杭州','嘉兴','湖州'],'年龄':[15,16,15]}df=pd.DataFrame(data)print(df)print('_' * 20)df.at[2,'年龄']=16print(df)
·append()、drp()、del·append()、drp()均不改变原有DataFrame对象中的数据,而是返回新的DataFrame对象存放改变后的数据。·del直接删除原有DataFrame对象中的数据,不会生成新的数据对象。
(24)分组统计—grupby①格式:对象名.grupby(分组列标签,as_index=True).统计方式函数名·as_index:为True时自动把第1列作为了index,为False时默认索引0、1、2、…②范例:按“地区”分组对数据类型是数值的列统计平均分(mean()函数)。·as_index为Trueimprt pandas as pdlist=[['周欣怡','湖州',15,646],['王培新','杭州',16,598],['张佳明','杭州',16,609],['林逢春','嘉兴',15,547],['朱梁栋','湖州',16,588],['陈清瑞','嘉兴',15,571]]
inf=pd.DataFrame(list,clumns=['姓名','地区','年龄','总分'])print(inf)print('_' * 20)print(inf.grupby('地区',as_index=True).mean())print('_' * 20)print(inf.grupby('地区',as_index=False).mean())
(25)排序①格式按值排序对象名.srt_values(值所在列标签,ascending=True,axis=0)按索引排序对象名.srt_index(ascending=True,axis=0)·ascending:默认为True,升序;False为降序。·axis:默认为0,跨行→纵向;1,跨列→横向。②排序结果返回一个新的DataFrame对象。
③范例imprt pandas as pdlist=[['周欣怡','湖州',15,646],['王培新','杭州',16,598],['张佳明','杭州',16,609],['林逢春','嘉兴',15,547],['朱梁栋','湖州',16,588],['陈清瑞','嘉兴',15,571]]inf=pd.DataFrame(list,clumns=['姓名','地区','年龄','总分'])print(inf)print('_' * 20)#下行语句为升序按值排序print(inf.srt_values('总分',ascending=True,axis=0))print('_' * 20)#下行语句为降序按索引排序print(inf.srt_index(ascending=False,axis=0))
典例3编写Pythn小程序,用pandas的DataFrame对象存储如图所示Excel中的选手数据。
程序界面和代码如下:imprt pandas as pddic={'编号':[1157,1014,1219,1448,1485,1354,1043,1212],'姓名':['姚佳云','庄怡婷','孙烨','周强盛','谢震宇','陶淑霞','沈雯雯','徐茂宇'],'班级':[1,2,3,4,5,6,7,8],'性别':['女','女','女','男','男','女','女','女'],'口语':[29,27,29,28,26,27,27,29],'听力':[26,29,25,27,30,20,27,27],'书面':[40,34,34,34,39,32,38,36],'总分':[95,90,88,89,95,79,92,92]}inf1=pd.DataFrame(dic)print(inf1)
对数据进行如下处理,请写出相应代码(1)删除inf1中的编号列数据(2)删除5班选手的数据,保存修改至生成新的DataFrame数据对象inf2(3)在对象inf2最后添加一行新的数据“1231,罗丹,5,女,7,20,24,36,80”,保存修改至生成新的DataFrame数据对象inf3(4)将inf1的“书面”列的列标签重命名为“笔试”(5)将inf1中数据按照“总分”降序排序,保存修改至生成新的DataFrame数据对象inf4(6)输出inf1中“总分”大于等于95的选手数据(7)按照性别分组统计inf1中各项数据的平均分
相关课件
这是一份高中信息技术学考复习必修1第四章课时3编程处理图片、文本数据处理、数据可视化、大数据典型应用课件,共46页。PPT课件主要包含了☆kde密度图,☆常见的分词系统,标签云,城市心情,卡特里娜飓风路径图,答案A等内容,欢迎下载使用。
这是一份高中信息技术学考复习必修1数据与计算第四章课时1大数据处理的基本思想与架构教学课件,共34页。PPT课件主要包含了高一各班总分平均值,热门省份Top5,学科百分比示意图,性别比例,大数据处理类型,Hadoop组成等内容,欢迎下载使用。
这是一份高中信息技术学考复习必修1数据与计算第三章第一节第二节课时2基本数据结构教学课件,共59页。PPT课件主要包含了右侧字符,左侧字符,2n→换行,3r→去除转义,右侧元素,左侧元素等内容,欢迎下载使用。

