《Python数据分析与应用案例教程》(李兆延)教案 第18课 旅游网站精华游记需求分析_第1页
《Python数据分析与应用案例教程》(李兆延)教案 第18课 旅游网站精华游记需求分析_第2页
《Python数据分析与应用案例教程》(李兆延)教案 第18课 旅游网站精华游记需求分析_第3页
《Python数据分析与应用案例教程》(李兆延)教案 第18课 旅游网站精华游记需求分析_第4页
《Python数据分析与应用案例教程》(李兆延)教案 第18课 旅游网站精华游记需求分析_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

课题第18课需求分析与数据预处理课时2课时(90min)教学目标知识技能目标:(1)能够对案例进行需求分析(2)能对数据进行预处理、分析和可视化操作(3)练习使用Pandas预处理重复值、缺失值、异常值和时间信息等素质目标:了解中国丰富的旅游资源,增强热爱祖国大好河山的情感教学重难点教学重点:对案例进行需求分析教学难点:对数据进行预处理、分析和可视化操作教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教材、文旌课堂APP教学设计第1节课:→→传授新知(28min)→课堂实践(10min)第2节课:→传授新知(20min)→课堂实践(12min)→课堂小结(3min)→作业布置(2min)教学过程主要教学内容及步骤设计意图第一节课考勤

(2min)【教师】使用文旌课堂APP进行签到【学生】按照老师要求签到培养学生的组织纪律性,掌握学生的出勤情况问题导入(5min)【教师】提出问题我们已经学习了python数据处理的相关知识,那么关于旅游网站中精华游记如何处理呢?【学生】思考、举手回答通过提问的方法,了解学生对案例的了解程度,进而引出新知传授新知

(28min)【教师】总结学生的回答,并引入新知,讲解案例需求分析的相关知识6.1需求分析6.1.1目标分析✈【教师】提出问题本案例的目标是什么?✈【学生】聆听、思考、主动回答问题✈【教师】总结学生的回答,并讲解新知本案例的目标是根据某旅游网站中精华游记的信息,包括出发时间、旅行天数、人均消费、旅行标签、阅览数和途径地点等,分析旅游的旺季和淡季、最能接受的旅游天数和人均消费、旅游方式、热门地区等。6.1.2数据源✈【教师】多媒体出示“旅游网站精华游记数据.xlsx”文件的内容图片(详见教材),并详细讲解各部分表示的内容数据源为通过网络爬虫爬取的某旅游网站精华游记的数据,保存在“旅游网站精华游记数据.xlsx”文件中。6.2数据预处理6.2.1数据解析✈【教师】提出问题数据解析的步骤有哪些?✈【学生】聆听、思考、主动回答问题✈【教师】总结学生的回答,并讲解新知(1)导入“旅游网站精华游记数据.xlsx”文件中的数据。(2)定义dealPlace()函数用于筛选途经地点中的中文地名,以及dealView()函数用于统一阅览数中的数值格式。(3)使用str.split()函数以默认的空格分割出发日期字符串,并设置其expand参数为True返回列表,获取第一个元素,即日期信息。(4)使用str.slice()函数切片获取天数和人均消费字符串的元素,即天数和人均消费的数值,并将天数的数据类型转换为整型。(5)使用lambda表达式调用dealPlace()函数,并使用str.replace()函数将途经地点字符串中“途经:”替换为空字符、将“>”替换为“、”。(6)使用lambda表达式调用dealView()函数,并将阅览数的数据类型转换为整型。(7)输出解析后的数据。✈【教师】按照教材步骤进行程序演示:importpandasaspddf=pd.read_excel('旅游网站精华游记数据.xlsx')defdealPlace(place): #筛选途经地点中的中文地名s=''iftype(place)==str:forcinplace:ifnot(((c>='a')and(c<='z'))or((c>='A')and(c<='Z'))):s=s+celse:s=placereturnsdefdealView(view): #统一阅览数中的数值格式num=viewiftype(num)==str:if'万'innum:if'.'innum:num=num.replace('.','').replace('万','000')else:num=num.replace('万','0000')returnnum(详见教材)✈【学生】观察、记录、理解✈【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果(详见教材)✈【教师】巡视课堂记录,对学生进行个别指导✈【教师】提出学习任务:对比程序结果,进行结果分析。✈【学生】观察、记录、理解、分析✈【教师】总结学生的分析结果✈【教师】讲解apply()函数的用途✈【学生】聆听、思考6.2.2重复值处理✈【教师】按照教材进行问题分析并按照步骤进行处理缺失值程序演示:旅游网站中会存在相同的游记,此时,须对数据中的重复值进行处理。此处,根据标题检查数据是否存在重复值,除包含重复值的第一行外,其他包含重复值的行标记为True,并输出标记为True的行索引;然后,删除重复值,并输出删除前、后数据的行数。实现代码如下。df1=df.duplicated(subset=['标题'])print('除包含重复值的第一行外,其他包含重复值标记为True的行:\n',df1[df1==True])print('删除重复值前数据的行数:',len(df))df.drop_duplicates(subset=['标题'],inplace=True,ignore_index=True)print('删除重复值后数据的行数:',len(df))(详见教材)✈【学生】观察、记录、理解✈【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果(详见教材)✈【教师】巡视课堂记录,对学生进行个别指导【学生】聆听、思考、理解、记忆通过教师讲解、课堂讨论、多媒体演示等方式,使学生了解案例的需求分析,数据解析,重复值处理等知识课堂实践

(10min)【教师】提出问题根据学过的知识及重复值的处理办法,请同学讨论尝试进行缺失值处理【学生】聆听、思考、讨论、编写程序【教师】检查并总结学生程序编写6.2.3缺失值处理当每条游记信息中缺失的信息大于2时,可以认为该游记失去参考价值,需要删除。此处,将数据转置后统计每列的缺失值个数,并输出缺失值大于2的行索引及其个数;然后,删除缺失值个数大于2(即非缺失值个数小于5)的行,并输出删除前、后数据的行数。实现代码如下。df2=df.T.isnull().sum()print('缺失值个数大于2的行:\n',df2[df2>2])print('删除缺失值前数据的行数:',len(df))df.dropna(how='all',thresh=5,inplace=True)print('删除缺失值后数据的行数:',len(df))通过课堂讨论,加深学生对处理数据缺失值的理解第二节课问题导入(8min)【教师】提出问题我们已经学习了数据重复值,缺失值预处理方式,那么异常值要如何处理呢?【学生】聆听、思考、回答问题通过提问的方法,引导学生主动思考,激发学生的学习兴趣传授新知(20min)【教师】总结学生的回答,并引入新知,讲解数据预处理的相关知识6.2.4异常值处理✈【教师】按照教材进行问题分析并按照步骤进行处理异常值程序演示:此次数据分析的目的是为上班族制订旅行计划提供参考数据,而上班族往往没有长假期,因此可以将天数过长(如大于15)的数据看作异常值,需要删除。此处,使用布尔型索引选取天数大于15的行,并输出选取数据的行数及前10行;然后,删除包含异常值的行,并输出删除前、后数据的行数。实现代码如下。val=df['天数'][(df['天数']>15)]print('天数大于15的异常值个数:',val.count())print('天数大于15的异常值前10行:\n',val.head(10))print('删除异常值前数据的行数:',len(df))df.drop(val.index,inplace=True)print('删除异常值后数据的行数:',len(df))(详见教材)✈【学生】观察、记录、理解✈【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果(详见教材)✈【教师】巡视课堂记录,对学生进行个别指导✈【教师】提出学习任务:对比程序结果,进行结果分析。✈【学生】观察、记录、理解、分析✈【教师】总结学生的分析结果从结果可以看出,天数大于15的数据有56个,且存在大于300的数据,显然与普遍情况不符。6.2.5时间信息处理✈【教师】按照教材进行问题分析并按照步骤进行处理时间信息处理程序演示:由于需要按月分析数据,因此须提取日期中的月份信息。此处,将出发日期转换成时间型数据,通过其属性提取月份信息,并将其添加到列末;然后,输出出发日期和月份的前20行。实现代码如下。df['月份']=pd.to_datetime(df['出发日期']).dt.monthprint(df[['出发日期','月份']].head(20))(详见教材)✈【学生】观察、记录、理解✈【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果(详见教材)✈【教师】巡视课堂记录,对学生进行个别指导【学生】聆听、思考、理解、记录通过教师讲解和课堂练习,使学生了解异常值,时间信息处理,预处理数据保存等的相关知识课堂讨论(12min)【教师】提出问题,请同学们分小组讨论预处理的数据要如何保存呢?聆听、结组、思考、讨论【教师】聆听并总结学生的讨论结果【教师】按照教材进行问题分析并按照步骤进行预处理数据保存演示:6.2.6预处理数据保存为方便后续分析,将预处理后的数据保存到“旅游网站精华游记数据_预处理.xlsx”文件中,实现代码如下。df.to_excel('旅游网站精华游记数据_预处理.xlsx',index=False)程序运行后,将生成“旅游网站精华游记数据_预处理.xlsx”文件,其内容如图所示。通过课堂讨论,使学生能够了解更多关于数据预处理的知识课堂小结

(3min)【教师】简要总结本节课的要点本节课学习了需求分析与数据预处理的相关知识,包括数据解析,缺失值,重复值,异常值,时间信息处理及预处理信息保存等相关内容,希望大家在课下多加练习,巩固所学知识

温馨提示

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

评论

0/150

提交评论