数据采集与预处理技术-P6T5-教案_第1页
数据采集与预处理技术-P6T5-教案_第2页
数据采集与预处理技术-P6T5-教案_第3页
数据采集与预处理技术-P6T5-教案_第4页
数据采集与预处理技术-P6T5-教案_第5页
已阅读5页,还剩6页未读, 继续免费阅读

下载本文档

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

文档简介

授课教案20—20学年第学期_______学院________专业课程名称数据采集与预处理技术任课教师授课形式理论教学□课内实践□理论+实践☑习题复习□考核评价□其他活动□课时安排2学时(90分钟)序号23授课日期月日月日月日月日授课班级2026级相关专业教学班授课地点实训机房(多媒体)教学内容:项目六任务五数据整合与转换课程思政设计:1.系统思维与流程意识——教材明确指出数据转换是数据整合的前提,先转换、再整合。课堂用一条反例讲透:时间戳不转成日期时间类型就提取不出小时与月份,标识类字段不转成字符串就当不了合并的关联键。借此让学生体会工序顺序不是形式,顺序错了后面全错。2.求实态度——一条记录不等于一次购买。原始销售记录里每条只代表一次点击或浏览行为,若直接把记录条数当作销量,结论必然偏高。课堂让学生先按原始记录条数算一次销量,再按分组聚合后的实际购买数量算一次,对比两个数字,体会对数据的理解偏差会直接传导成结论偏差。3.工匠精神与参数意识——merge的how参数取inner、left、right还是outer,决定合并后保留哪些行;aggfunc取sum、mean还是count,决定透视表里每个格子算的是什么。课堂强调每个参数都对应一个业务问题,不是随手填的默认值。4.数据伦理——类型、时间、聚合、合并、透视几步走完,原本碎片化的点击记录被还原成可追踪的用户行为轨迹。课堂明确这套能力仅限教学演示与授权范围内的业务分析,整合后的结果不得用于针对具体个人的画像或对外传播。教学目标:知识目标:能说出数据整合的三种形式——横向合并、纵向拼接、分组聚合,并说明各自增加的是字段、行数还是汇总层级;能说出数值型、字符型、时间型三类转换各自的必要性;能说明先转换、再整合这一工序顺序的道理;能说清merge的how参数四种连接方式与pivot_table各参数的作用。能力目标:能用astype把标识类字段转换为object、把年龄转换为int64;能用map配合字符串分割从时间戳中提取日期与小时,用dt.month提取月份,用strftime('%w')提取星期,并用drop删除原时间列;能用fillna与notnull完成合并前的缺失处理;能用groupby配合命名聚合agg(buy_num=('user_id','count'))统计每个订单内各商品的购买数量;能用merge按订单号与商品标识完成内连接合并,并在合并前用reset_index把索引转回普通列;能用列间算术运算生成衍生字段并用reset_index(drop=True)整理索引;能用pivot_table生成地区×品牌的多维交叉透视表与按小时的单维度多指标统计;能实现教材完整流程complete_data_integration_pipeline(df_raw),并打印原始行数、最终行数、数据保留率与新增字段数。素质目标:养成分步推进并逐步打印的习惯,每完成一步看一次输出,不做一次性写完再运行的长代码;养成按先转换、再整合的固定工序处理数据的习惯,不跳步;养成用数据保留率、新增字段数等可核对指标验证结果的习惯,做完必须确认数据没被悄悄改少。教学重难点及解决方法:教学重点:astype完成数据类型转换;groupby配合命名聚合统计购买数量;merge按关联键完成合并;pivot_table生成透视表验证结果。教学难点:命名聚合语法agg(buy_num=('user_id','count'))的写法;合并前必须reset_index把索引转回普通列,否则关联键取不到。学生易直接对分组结果做merge,报出关联键不存在的错误。解决方法:针对难点:命名聚合采用对照演示,先写熟悉的agg({'user_id':'count'})再改写为命名聚合写法,说明后者可以直接给输出列起名、后续引用更清晰;合并前reset_index这一动作单独演示两次——第一次故意省掉,让学生看到merge报出的键错误,第二次补上,用报错经历把这一步钉牢。针对重点问题:采用边讲边练,每个操作讲完即用课程在线教学平台推送1~2道限时练习当堂消化;七个步骤组织成一条完整流水线,每步的输出都是下一步的输入,学生在连贯任务中理解工序关系;实操期间教师巡视,重点检查类型转换是否已先于聚合、merge前是否reset_index、保留率是否在合理区间;课后按检测正确率推送分层强化题。教学环境及平台:实训机房(多媒体),每人一机,配备投影与广播教学软件;Python3.9运行环境(NumPy、pandas);课程在线教学平台。软件与工具:Anaconda、JupyterNotebook、PyCharm/VSCode。数据与素材:教材配套电商销售数据集(电子产品销售分析.csv,56万余条记录)。教学资源:①教材《数据采集与预处理技术》第172–178页正文、示例代码与配套数据集;②本课程课件与演示代码(含七步流程脚本、merge试错脚本、透视表脚本);③课程在线教学平台(预习测验、随堂练习、课后答疑)与课程AI智能体。学习效果评价方式:过程性评价40%+终结性评价60%的综合评价方式,本次课成绩计入平时成绩,对应其中三项:①课堂实操(主要部分):提交complete_data_integration_pipeline代码与七步输出,按工序顺序、命名聚合写法、透视表结果三项评分;②随堂测验:下课前5题(三类转换、命名聚合写法、merge前处理、透视表参数),平台自动批改,当场讲评错误率最高的一题;③课后作业:提交整合结果与分析结论,含保留率与新增字段数。课前预习:平台3道诊断题(astype与merge辨析),统计错误率用于调整讲授重点。课后小结:填表说明:1.序号,指该课程授课的顺序号,应与授课计划一致;2.授课形式在相应的选项打“√”。教学内容及过程时间分配方法及手段思政元素【教师活动】1.承接前四个任务:数据已经清洗、去重、建好索引。现在提出一个业务问题——这批数据里手机一共卖了多少台?2.让学生直接用记录条数统计一次并报出数字。3.追问:原始记录里每条代表什么?教材给出的事实是:每条记录只代表一次点击或浏览行为,而不是实际的购买数量。同一订单里同一商品出现多次,可能是一次买了多台,也可能是多次点击。4.现场演示分组聚合,统计每个订单内各商品的实际购买数量,与刚才按条数算出的数字并列投屏。5.点明本次课任务:把碎片化的点击记录整合为结构化的分析数据,并按业务需要完成转换与计算。【学生活动】按记录条数统计手机销量并报出数字;讨论每条记录代表什么;观察分组聚合后的购买数量分布,与自己的数字对比;记录本次课要解决的核心问题。【设计意图】对应知识目标1与能力目标1。承接前四个任务的成果,学生此时已相信数据是干净的,此处再揭示一层隐藏问题——数据干净不等于数据含义正确,形成第二次认知冲突;先让学生用自己的方法算一遍再揭晓,让错误结论的来源可被看见,直接回应思政中的求实态度;两个数字并列是本导入的核心动作,为后面七步流程的必要性提供理由。环节一任务情境:一条记录不等于一次购买(8分钟)任务驱动法直观演示法(投屏+数字对比)求实态度:理解错了数据结论必然错【教师活动】1.讲数据整合的三种形式:横向合并是多张表依据共同关键字段匹配,类似表格软件的查找匹配,增加的是字段;纵向拼接是结构相同的明细表上下堆叠,增加的是行数;分组聚合是对明细数据按条件汇总,生成的是高层级统计结果。2.讲三类数据转换及必要性:数值型转换涉及整数与浮点数,用户年龄、订单小时需转整数才能比较与计算,商品价格保持浮点以确保精度;字符型转换处理标识类字段,订单号、商品标识、用户标识虽由数字组成,但业务上是标识符而非数值,须转字符串;时间型转换是时间序列分析的基础,转成日期时间类型后才能做时间计算、范围筛选与维度提取。3.讲先转换、再整合的道理,用两条反例说明:时间戳不先转换就提取不出小时与月份,后续时间序列聚合无从谈起;标识类字段不先转字符串就当不了分组聚合与合并的正确关联键。4.板演astype:把order_id、product_id、category_id、user_id四个标识类字段转为object,把age转为int64,先打印df.dtypes看转换前的类型,再打印一次看转换后的结果。5.强调两个细节:转换要用变量接回原列;打印dtypes前后对照是验证转换是否生效的最直接方法。【学生活动】说出三种整合形式分别增加什么;说明标识类字段为什么要转成字符串而不是保持数字;跟做astype转换,打印前后类型对照并记录变化。【设计意图】对应知识目标2、3与能力目标1。三种整合形式按增加字段、行数、汇总层级三分,学生能按需求选形式而不是混用;三类转换的必要性用反例讲,学生记住的是不转就做不成什么,而不是类型名称本身;打印前后dtypes对照是本节第一个可自检动作,直接落实素质目标3。环节二数据类型转换与整合的三种形式(12分钟)讲授+板书反例讲解讲练结合(投屏+Jupyter)流程意识:先转换再整合【教师活动】1.讲时间维度提取的四项目标:日期、小时、月份、星期。2.板演提取流程,边写边讲每步在做什么:用df['event_time'].map(lambdax:x.split('')[0])取出空格前的日期部分,说明map方法作用于每个元素;用pd.to_datetime把日期字符串转为日期时间类型;用map(lambdax:x.split('')[1].split(':')[0])取出小时部分,再astype('int64')转成整数;用df['date'].dt.month提取月份;用map(lambdax:x.strftime('%w'))格式化输出星期,说明%w表示星期且0为周日,再转成整数;最后用drop(columns='event_time',inplace=True)删除原时间列,说明inplace=True表示直接在原数据上修改。3.强调drop这一步的意义:原始时间戳已被拆成四列,保留原列会让后续透视表里出现重复信息。4.现场跑一遍,投屏本数据集提取出的日期范围、小时分布与月份取值。【学生活动】跟做四步提取,记录本数据集的日期范围与小时分布;说明%w中0代表星期几;说明为什么最后要删掉原时间列。【设计意图】对应能力目标2。四步提取按先分割、再转换、后提取的顺序推进,每一步都依赖上一步的类型,学生在连贯操作中体会转换是提取的前提;inplace=True单独讲,是因为它是本任务里唯一会直接修改原数据的写法,学生必须知道它与其他写法不同;删原列这一动作看似小事,却能让学生理解衍生字段与原字段的关系,为后面计算新增字段数做铺垫。环节三时间维度提取(15分钟)讲授+板演讲练结合(投屏+pandas)规范意识:拆分后原列要及时清理【教师活动】1.讲合并前的缺失处理:本任务要把类别代码字段的缺失值填充为U,并删除品牌字段为空的记录。说明这一步承接任务二的方法,此处直接应用,保证后续分组聚合与合并的准确性。2.讲分组聚合的拆分—应用—合并模式:先按分组字段拆成若干子组,再对每组应用聚合函数,最后把各组结果合并。3.板演命名聚合:groupby(['order_id','product_id']).agg(buy_num=('user_id','count')),讲清buy_num是给输出列起的名字,user_id是被聚合的列,count是聚合方式,三个位置各司其职。4.与旧写法对照:先写agg({'user_id':'count'})再改写为命名聚合,说明后者输出列名清晰,后续merge与引用都更方便。5.演示结果的查看:打印前几行,再用value_counts().sort_index()看购买数量的分布,并找出购买数量最大的记录。6.强调本步的业务含义:这一步把多条点击记录聚合成每个订单内每种商品的实际购买数量,正是导入环节要解决的核心问题。【学生活动】跟做缺失处理与命名聚合,记录购买数量的分布;报出购买数量最大的订单与商品;用两种agg写法各写一次并说明命名聚合的好处。【设计意图】对应能力目标3、4,突破难点命名聚合写法。与旧写法对照是本节的关键演示动作,学生在已有知识上迁移,接受成本最低;value_counts看分布这一步把聚合结果从一张表变成一个可解读的规律,回应导入环节的问题;把缺失处理放在聚合之前并说明这是任务二方法的应用,让学生看到四个任务的成果在本任务里被串联起来。环节四合并前清洗与分组聚合(18分钟)讲授+板演新旧写法对照讲练结合(Python+pandas)工匠精神:输出列名清晰后续才好引用【教师活动】1.讲merge的基本格式:pd.merge(左表,右表,on=['关联列'],how='连接方式'),讲清on指定连接列名,how指定连接方式,inner为内连接、left为左连接、right为右连接、outer为全外连接。2.讲合并前的必要准备:分组聚合的结果里,groupby的列变成了索引而非普通列,直接merge会取不到关联键,必须先reset_index把它转回普通列。3.故意演示一次错误:跳过reset_index直接merge,让学生看清报出的键错误信息。4.补上reset_index再演示一次,成功合并,并说明how='inner'表示只保留两边都能匹配上的行。5.演示衍生字段计算:df_merged['amount']=df_merged['price']*df_merged['buy_num'],讲清直接对列做算术运算即可生成新列。再用reset_index(drop=True)整理索引,说明drop=True表示丢弃原索引而不把它变成列。6.追问:若改用how='left',合并后行数会变多还是变少?为什么?引导学生从连接方式的含义推导。【学生活动】观察跳过reset_index时的报错信息并记录;跟做正确合并,记录合并前后行数;完成衍生字段计算,记录订单总金额;说明inner与left两种方式对行数的影响。【设计意图】对应能力目标5、6,突破难点合并前reset_index。故意触发报错是本节最关键的演示动作,学生读过一次键错误信息,比反复叮嘱有效;inner与left的对比把参数讲成业务选择,直接回应思政中的参数意识;衍生字段计算放在合并之后,是因为金额依赖购买数量,学生能理解工序的依赖关系。环节五数据合并与衍生字段计算(17分钟)试错体验讲授+板演讲练结合(Python+pandas)审慎判断:连接方式决定保留哪些行【教师活动】1.布置任务:把前面六步整合成完整流程complete_data_integration_pipeline(df_raw),依次完成数据类型转换、时间维度提取、数据清洗、分组聚合、数据合并、衍生字段计算、结果验证七步。2.示范函数骨架,边写边讲七步顺序为什么不能颠倒:标识类字段不先转字符串,合并时关联键就对不上;时间不先提取,后续透视就没有小时与月份可用;不先清洗就聚合,缺失值会被算进去;不先聚合出购买数量,合并后就算不出金额。3.演示每步的打印语句:各步完成提示、原始数据行数、最终数据行数、数据保留率、新增字段数。强调每步都打印,出问题能定位到是哪一步。4.点明工程规范:函数内先df_raw.copy()建副本,原始数据保留以便比对。5.学生实操期间巡视,重点检查七步顺序、命名聚合写法、merge前是否reset_index、保留率是否合理。【学生活动】独立实现七步流程并运行,记录每步输出;核对最终行数与保留率;与同桌比对保留率,差异明显的互相检查merge的how取值与关联键写法。【设计意图】对应能力目标7,是本次课的综合产出。七步流程是项目六里最长的一条链,学生在连贯任务中把前四个任务的成果和新学的方法串成一体;每步打印是定位错误的手段,学生在长流程里出问题时能自己找到断点,直接落实素质目标1;保留率与新增字段数作为可核对的硬指标,学生能自行判断整合是否成功。环节六综合实施:七步整合流程(12分钟)项目教学法演示—实操—巡视同伴互校流程意识:七步顺序固定每步留输出【教师活动】1.讲数据透视表的作用:多维度分析的有力工具。板演pivot_table的参数含义——values指定要聚合的数值列,index指定行索引,columns指定列索引,aggfunc指定聚合函数,fill_value指定缺失组合的填充值。2.演示地区×品牌交叉透视:以local为行、brand为列,同时对销售总额与购买总量求和,fill_value=0把没有销售记录的组合填为0。投屏结果并引导学生读表:哪个地区销售额最高?哪个品牌在哪些地区卖得好?3.演示按小时的单维度多指标统计:以hour为行,对amount同时做count、sum、mean,得到一天中各时段的订单数、销售总额与平均金额。引导学生读表:一天中哪个时段订单最多?客单价最高的时段是同一个吗?4.引导学生用三句话小结:①一条记录不等于一次购买,先聚合再谈销量;②先转换、再整合,顺序不能颠倒;③合并前reset_index,做完必查保留率。5.课程在线教学平台推送当堂检测5题(三类转换、命名聚合写法、merge前处理、透视表参数),限时5分钟,系统自动批改,当场讲评错误率最高的一题。6.布置作业并预告:下一任务「SQL在数据预处理中的应用」将把同样的清洗与整合需求换用数据库查询语言实现,请课前思考两种工具有什么不同。【学生活动】

温馨提示

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

最新文档

评论

0/150

提交评论