还剩6页未读,继续阅读
文本内容:
讲解各部分表示的内容Pandas提供了isnull函数和nolnull函数用于检查缺失值NaN它们的一般格式如下DataFrame.isnullDataFrame.notnullO使用isnull函数检查缺失值时缺失值位置返回True等缺失值位置返回False;而notnullO函数正好相反,缺失值位置返回False非缺失值位置返回True此外,isnullO函数和nomullO函数还可以结合sum函数,统计数据中每^的缺失值个数A【教师】按照教材步骤逐步分析并进行演示例3-1详见教材的程序编写步骤importpandasaspddf=pd.DataFramc{商品「苹果香蕉丁梨1‘单价元[
5.
5.4]销量kg:[100NoneNone]库存kg*[50None.70|}print原始数据\n.dfprin【检直缺失值\ndf.isnullOprint检查非缺失值\n.df.notnullOprim统计每列缺失值的个数\ndf.isnull.suin详见教材>【学生】现察、记录、理解【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果详见教材♦【教师】巡视课堂记录,对学生进行个别指导♦【教师】提出学习任务对比程序结果,进行程序分析.♦【学生】观察、记录、理解、分析中【教师】总结学生的任务完成情况,并讲解新知Pandas中缺失值默认的数据类型为浮点型,包含缺失值的列中整型雌会自动转换为浮点型因此,不包含缺失值的单价列中数据仍为整型,而包含缺失值的销量列和库存列中数据变成了浮点型
2.处理缺失值Pandas提供了dropnaO函数和fillna函数用于处理缺失值1dropnaO函数小【教师】多媒体出示了dropnaO函数的一般格式详见教材,并详细讲解各部分表示的内容dropnaO函数用于删除包含缺失值的行或列,其一般格式如下DataFrame.dropnaaxis=0how=any*.thresh=None.subset=None.inplace=FalseIaxis表示删除行或列,如果取0或index表示删除包含缺失值的行;如果取1或columns表示删除包含缺失值的列;默认为02how表示删除的标准,如果取any”表示删除包含缺失值的行或列;如果取all表示删除所有值都为缺失值的行或列;默认为“any3thresh表示非缺失值个数的最小要求例如,thresh为2时,删除少于两个非缺失值的行或列4subset表示列索引或标签列表,删除指定列包含缺失值的行5inplace表示是否在原数据上删除,如果为True则直接在原数据上删除;如果为False则不在原数据上删除,返回一个新对象;默认为False.>【教师】按照教材步骤逐步分析并进行演示例3-2详见教材的程序编写步骤mportpandasaspddf=pd.DataFrame「商品,:「苹果「香蕉丁梨I‘单价元
[554]销量kg八[100NoneNone]‘库存kg:[50None70]}print原始数据\n\dfprint删除包含缺失值的行\ndf.dropnaprint删除包含缺失值的列\ndf.dropnaaxis=iprint删除少于3个非缺失值的行\n;df.dropnathresh=3print删除库存列包含缺失值的行\ndf.dropna$ubscl=[库存kg1]详见教材沙【学生】观察、记录、理解〉【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果详见教材小【教师】巡视课堂记录,对学生进行个别指导2rillna函数十【教师】多媒体出示了fillna函数的一般格式详见教材,并详细讲解各部分表示的内容DataFrame.flllnavalue=Nonemethod=None.inplace=False1value表示用于替换的数据,可以是单个数值,表示将所有的缺失值都替换为value;也可以是字典,字典的键为列标签,字典的值为替换的数据,表示将指定列的缺失值替换为字典的值2method表示替换方式,如果是pad或ffill表示使用每列第一个缺失值前面的非缺失值替换该列的所有缺失值;如果是backfill或bfill”,表示使用每列最后一个缺失值后面的非缺失值替换该列的所有缺失值3inplace同样表示是否在原数据上替换此处需要特别注意的是,value参数和method参数不能同时使用【教师】按照教材步骤逐步分析并进行演示例3-3详见教材的程序编写步骤importpandasaspd什么是异常值?小【学生】观察、记录、理解、分析、回答问题+【教师】总结学生的回答,并讲解异常值的概念异常值是指超出或低于正常范围的值,如年龄为负数、身高大于3m等,它会导致分析结果产生偏差甚至错误.小【教师】提出问题如何检杳异常值?>【学生】观察、记录、理解、分析、回答问题小【教师】总结学生的回答,并讲解异常值的检查方法检查异常值通常可以使用箱形图,它真实、直观地呈现了数据的分布情况,且对数据没有件可限制箱形图通过上限和下限作为数据分布的边界,俗可高于上限或低于下限的数据都可以认为是异常值,如图所示【教师】提出问题,请同学们分小组练习.原始数据原始数据:.练习要求直找并删除原始数据中的重复值【学生】聆听、结组、思考、讨论、写代码、展示程序代码及运行结果课题第8课数据的清洗课时2课时90min教学目标知识技能目标
(1)掌握处理缺失值和重复值的方法
(2)掌握握处理重复值的方法
(3)能对数据进行清洗等预处理操作素质目标养成分析问题、事前做好准备的良好习惯教学重难点教学重点处理缺失值和重复值的方法教学难点能对数据进行清洗等预处理操作教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教材、APP教学设计第1节课考勤(2min)一问题导入(5min)一传授新知(28min)一课堂实践(10min)第2节课问题导入(8min)一传授新知(20min)一课堂实践(12min)一课堂小结(3min)一作业布置(2min)教学过程主要教学内容及步骤设计意图第一节课考勤2min【教师】使用APP迸行签到【学生】按照老师要求签到培养学生的组织纪律性,掌握学生的出勤情况问题导入(5min)【教师】提出问题在进行数据分析之前要进行数据预处理,数据预处理包含哪些工作?【学生】思考、举手回答通过提问的方法,了解学生对上节课知识的掌握程度,进而引出新知传授新知(28min)【教师】总结学生的回答,并引入新知,讲解数据清洗的相关知识缺失值的处理*【教师】请同学们扫描二维码学习数据缺失值的处理,并回答以下问题什么是缺失值?小【学生】扫描二维码、思考、回答问题小【教师】总结学生的回答,并讲解新知缺失值是指数据集中某个或某些值是不完整的,它会导致数据样本信息减少,不仅增加了数据分析的难度,还会使数据分析的结果产生偏差
1.检查缺失值DalaFrame对象中数据的修改包括修改索引和数据十【教师】多媒体出示了duplicated函数的一般格式(详见教材),并详细通过教师讲解、课堂讨论、多媒体演示等方式,使学生了解数据清洗的相关内容,包括df=pd.DaiaFramc(「商品〉「苹果丁香蕉丁梨1]单价(元)
[554]销量(kg):[100NoneNone]库存(kg):[
50.None70J})prin【(原始数据\ndf)prim(使用120替换所有缺失值\n.df.tillna(l20))print(使用
120、60分别替换销量、库存列的缺失值\n;df.fillna({销量(kg)120库存(kg),:601))prints使用每列第一个缺失值前面的非缺失值替换该列的所有缺失值\n\df.fillna(method-ffiir))prime使用每列最后一个缺失值后面的非缺失值替换该列的所有缺失值\n\df.fillna(method=bfill))(详见教材)小【学生】观察、记录、理解♦【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果(详见教材)小【教师】巡视课堂记录,对学生进行个别指导计【教师】提出学习任务对比程序结果,进行程序分析》【学生】观察、记录、理解、分析+【教师】总结学生的分析,并讲解新知第3次替换时,销量列的第一个缺失值前面的数据为10()所以该列使用100替换所有缺失值,库存列同理使用50替换缺失值.第4次替换时,销量列最后一个缺失值后面没有数据,所以该列不进行替换,而库存列的最后一个缺失值后面的数据为70所以该列使用70替换所有缺失值.【学生】聆听、思考、理解、记忆课堂实践(10min)【教师】提出以下问题让学生进行实践练习已知原始数据如图所示通过课堂实践,加深学生对数据缺失值处理的理解原蛤数据商品单价(元》消里《kg)反存(kg》苹果
5160.
050.0番蕉5NaNNaN梨4NaN
70.0将销量列的缺失值替换为“100”将库存列的缺失值替换为50【学生】聆听、思考、编写程序【教师】巡视课堂,对学生进行个别指导第二节课问题导入8min【教师】提出问题我们已经学习了数据缺失值出路的相关知识,那么数据的重复值应该如何处理呢?【学生】聆听、思考、回答问题通过提问的方法,引导学生主动思考,激发学生的学习兴趣传授新知20min【教师】总结学生的回答,并引入新知,讲解重复值及异常值的处理
3.
1.2重复值的处理小【教师】请同学们扫描二维码学习数据缺失值的处理,并回答以下问题什么是重复值?小【学生】扫描二维码、思考、回答问题小【教师】总结学生的回答,并讲解新知重装值是指数据集中重夏的数据,它会导致数据的方差变小,数据的分布发生较大变化.检查重复值【教师】多媒体出示了duplicated函数的一般格式详见教材,并详细讲解各部分表示的内容DataFrame.duplicatedsubset=Nonekeep-first1subset表示要检查重复值的列标签,可以是单个列标签或列标签列表,默认检查所有列.2keep表示检查方式,如果取first”除包含重复值第一行外,其他包含重复值的行标记为True;如果取Iasi除包含重复值的最后一行外,其他包含重复值的行标记为True;如果取False,所有包含重复值的行标记为True;默认为first.该函数返回一个由布尔值组成的Series对象,它的行索引或标签不变,数据则为标记的布尔值同样duplicated函数也可以结合sum函数,统计数据的重复值个数》【教师】按照教材步骤逐步分析并进行演示例3-4详见教材的程序编写步骤importpandasaspddf=pd.DataFramer商品?「苹果丁香蕉丁梨丁香蕉1‘单价元
[4545]销量kg,:
[100120105120]库存kg[
50.
6070.60]}print原始数据\n\dfprint检查所有列的重复值\ndf.duplicatedOprinld检查单价列的重复值,标记除包含重复值的第一行外其他包含重复值的行通过教师讲解和课堂讨论,使学生了解数据清洗的相关知识包括重复值和异常值的处理方法为True\n\df.duplicaledC单价(元)))prin(检直单价列的重复值,标记除包含重复值的最后一行外其他包含重复值的行为True\ndf.duplicated(单价(元)keep=last))print检查单价列的重复值,标记所有包含重复值的行为True:\i亡df.duplicatedC单价(元)keep=False))(详见教材)+【学生】观察、记录、理解沙【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果(详见教材)注【教师】巡视课堂记录,对学生进行个别指导
2.删除重复值小【教师】多媒体出示了drop_duplicates()函数的一般格式(详见教材),并详细讲解各部分表示的内容DalaFrame.drop_duplicates(subset=None.keep-firstinplace=Falseignorc_index=False)该函数的使用方法与duplicated函数类似,用于删除检查重复值时标记为Tine的行其中,ignore_index表示是否忽略原行索引或标签,如果为True则重新设置从0开始的整数索引,如果为False则保留原行索引或标签,默认为False.十【教师】按照教材步骤逐步分析并进行演示例3-5(详见教材)的程序编写步骤importpandasasjxldf=pd.DaiaFramcC商品苹果丁香蕉梨「香蕉1单价(元)[
4.
54.51,销量(kg):
[100120105120]库存(kg):[50607060J})prinlC原始数据\ndf)print删除单价列除包含重复值的第一行外其他包含重复值的行\n;df.drop_duplicales(单价(元)))prime删除单价列除包含重复值的最后一行外其他包含重复值的行\n;df.drop_duplicates(单价(元),keep=last))priniC删除除完全重复的第一行外其他完全重复的行\n.df.drop_duplicates())prin〔(删除所有完全重复的行\ndf.drop_duplicates(keep=False))printC删除所有完全重复的行,并重新设置连续行索引df.drop_duplicalcs(kccp=Falseignore_indcx=Truc))(详磁材)>【学生】观察、记录、理解>【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,井对比程序运行结果(详见教材)»【教师】巡视课堂记录,对学生进行个别指导
3.
1.3异常值的处理+【教师】提出问题商品单价《元》kg原存kg》茄萄6100:50通过课堂实训I课堂实践1苹果5126:60使学生能够了解12min2西瓜4110;70更多关于数据清3偏衢6100,50洗的知识【教师】聆听学生的回答课堂小结3min【教师】简要总结本节课的要点本节课学习了数据清洗的相关知识,包括缺失值,重复值,异常值的检查与处理,等相关内容,希望大家在课下多加练习,巩固所学知识【学生】总结回顾知识点总结知识点矶固学生对相关知识的印象作业布置2min【教师】布置课后作业1完成课后本章考核3”的习题.2预习数据合并的内容【学生】完成课后任务通过课后作业复习巩固学到的知识,提高理论接收能力教学反思在这节课中学生能在互动环节深入沟通,效果不错教师多与学生进行深入的沟通和交流,可以发现学生学习中存在的问题并及时纠正,使其掌握科学有效的学习方法,提高学习的质量和效率.。