版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
授课教案20—20学年第学期_______学院________专业课程名称数据采集与预处理技术任课教师授课形式理论教学□课内实践□理论+实践☑习题复习□考核评价□其他活动□课时安排2学时(90分钟)序号22授课日期月日月日月日月日授课班级2026级相关专业教学班授课地点实训机房(多媒体)教学内容:项目六任务四数据标签与索引课程思政设计:1.效率意识与工具意识——在56万余条记录里找一笔订单,逐行遍历与用订单号索引直接定位,区别不只是快慢,而是可不可行。课堂让学生先说出遍历查找要多少次比较,再与索引查找对比,体会数据结构的选择决定分析能不能做成。2.规范意识——教材明确指出应尽量使用唯一索引与有序索引,因为索引不唯一时访问操作可能返回多条记录。课堂把这一条与任务三的重复记录打通:同一个订单号出现多次,既会造成统计重复,也会造成索引歧义,规范是相通的。设置新索引后必须用is_unique检查,不凭感觉认为肯定唯一。3.系统思维——教材用图书馆的分类系统比喻索引、用具体位置比喻标签。课堂借这个比喻说明:面对多维度数据,先想清楚按哪几个维度组织,再建立层次化结构,这是处理复杂对象的通用方法,不只是写代码技巧。4.数据伦理——按用户标识追踪某个客户的购买历史,是教材给出的典型场景,也是涉及个人隐私的操作。课堂明确这类能力仅限教学演示与授权范围内的业务分析使用,不得用于针对具体个人的画像或对外传播。教学目标:知识目标:能说出索引与标签的区别及二者关系——索引决定组织数据的方式,标签是该方式下每条数据的具体身份标识;能说出RangeIndex、Int64Index、对象索引、多层索引四种类型的特点与各自适用场景;能说明标签访问背后是标签与数据位置的映射关系;能说清唯一索引与有序索引各自的必要性。能力目标:能用index、columns属性查看行列索引,并用is_unique、is_monotonic_increasing、dtype、memory_usage判断索引特征;能用set_index把指定列设为行索引,并在设置后用is_unique与duplicated检查唯一性;能用set_index同时指定多列建立多层索引,并用nlevels、names、get_level_values查看层级信息;能用loc按标签精确查找单条记录,并对多层索引按外层、内层逐层访问;能用to_datetime转换后建立时间索引,用loc完成单日查询与日期区间查询;能用pd.Grouper(freq='M')配合agg完成按月分组统计。素质目标:养成访问数据前先看索引特征的习惯,不做不检查索引就直接查找的操作;养成按业务维度设计索引结构的思维习惯,先想清楚按什么组织再动手;养成用loc按标签访问而非按位置数的习惯,让代码在数据结构变化时仍然可用。教学重难点及解决方法:教学重点:set_index建立行索引与多层索引;loc按标签精确查找与分层访问;时间索引的区间查询。教学难点:索引与标签的概念区分。学生易把二者当成一回事,进而看不懂为什么改了索引之后原来的列名取不到了;多层索引的层次访问顺序也容易弄混,常写成先内层后外层。解决方法:针对难点:用教材的图书馆比喻讲透二者关系——索引是分类方式,标签是具体位置,改了分类方式位置标识随之改变,学生能据此理解为什么订单号变成索引后不能再按列名取它;多层索引的层次访问采用递进演示,先用loc['北京']取外层,再用loc[('北京','apple')]取两层,并用元组写法强调顺序由外到内,最后让学生故意颠倒顺序触发KeyError并读提示。针对重点问题:采用边讲边练,每讲完一类索引操作即用课程在线教学平台推送1~2道限时练习当堂消化;三类索引放在同一份数据上连续演示,学生看到同一批记录在订单号索引、地区品牌多层索引、时间索引下的不同组织形态,理解索引是同一数据的不同视图;实操期间教师巡视,重点检查设置新索引后是否执行了唯一性检查、loc是否用标签而非位置;课后按检测正确率推送分层强化题。教学环境及平台:实训机房(多媒体),每人一机,配备投影与广播教学软件;Python3.9运行环境(NumPy、pandas);课程在线教学平台。软件与工具:Anaconda、JupyterNotebook、PyCharm/VSCode。数据与素材:教材配套电商销售数据集(电子产品销售分析.csv,56万余条记录)、任务三去重后的数据集。教学资源:①教材《数据采集与预处理技术》第167–171页正文、示例代码与配套数据集;②本课程课件与演示代码(含四类索引对照脚本、时间索引范围查询脚本);③课程在线教学平台(预习测验、随堂练习、课后答疑)与课程AI智能体。学习效果评价方式:过程性评价40%+终结性评价60%的综合评价方式,本次课成绩计入平时成绩,对应其中三项:①课堂实操(主要部分):提交三类索引应用代码与查询结果,按索引设置、唯一性检查、loc访问正确性三项评分;②随堂测验:下课前5题(索引与标签辨析、多层索引访问顺序、时间区间查询写法),平台自动批改,当场讲评错误率最高的一题;③课后作业:提交三类索引的查询结果与索引设计说明。课前预习:平台3道诊断题(索引类型、loc用法),统计错误率用于调整讲授重点。课后小结:填表说明:1.序号,指该课程授课的顺序号,应与授课计划一致;2.授课形式在相应的选项打“√”。教学内容及过程时间分配方法及手段思政元素【教师活动】1.承接任务三:数据已经去重、清洗完毕,共56万余条。现在提出四个真实需求——查一笔订单的详细信息、按用户标识追踪某个客户的购买历史、提取某个时间段的销售记录、按商品类别分类统计。2.提问:如果每次都从第1行开始逐行比对,查到目标记录平均要比多少次?四个需求各做一遍呢?3.让学生现场估算,再用代码实测一次遍历查找的耗时。4.点明矛盾:传统的0、1、2数字位置索引满足不了业务需求,需要能用订单号、用户标识、时间戳直接定位的组织方式。5.点明本次课任务:把数据集按业务标识重新组织,学会用标签直接访问。【学生活动】说出四个需求各自的查找条件;估算遍历查找的比较次数并报出;观看实测耗时;记录本次课要解决的核心矛盾。【设计意图】对应知识目标1与能力目标1。承接任务三清洗后的同一份数据,学生在前三个任务里建立的都是整表处理的经验,此处首次面对单条精确定位的需求,形成认知缺口;先估算再实测,让效率问题变成可感知的代价,而不是抽象概念;四个需求分别对应订单号索引、用户标识、时间索引、分类统计,正好覆盖本任务要讲的三类索引,导入即给出全貌。环节一任务情境:56万行里怎么找一笔订单(8分钟)任务驱动法直观演示法(投屏+实测计时)效率意识:数据结构的选择决定能不能做成【教师活动】1.讲索引与标签的定义:索引用于标识DataFrame中行和列的标签,与传统数字位置索引不同,可以使用订单号、用户标识、时间戳等业务标识符。行标签构成行索引,列标签构成列索引。2.用教材的图书馆比喻讲透二者关系:索引就像图书馆的分类系统,如按作者姓名排列或按出版年份排列;标签则是每本书在该系统下的具体位置标识,如张三或2025年。强调索引决定组织数据的方式,标签是这种组织方式下每条数据的具体身份标识。3.用教材两张表对照说明:默认数字索引下标签是0、1、2,查找ORD001要先知道它在第0行;把订单号设为索引后标签变成ORD001、ORD002、ORD003,直接用df.loc['ORD001']即可定位,不必记住行号。4.讲四种索引类型及适用场景:RangeIndex是默认的连续整数索引,占用内存少、访问效率高,适合简单访问;Int64Index用不要求连续的整数,适合商品标识、用户标识;对象索引可用字符串、时间戳等复杂对象,适合订单号、商品名称等业务标识符;多层索引在一个轴向上使用多个层次标签,适合地区加品牌这类分组数据。5.讲索引操作的原理与两条使用准则:核心是建立标签与数据位置的映射关系;应尽量使用唯一索引,因为索引不唯一时访问可能返回多条记录;应尽量使用有序索引,无序索引在某些操作上效率较低。此处与任务三的重复记录呼应。【学生活动】用图书馆比喻复述索引与标签的区别;说明把订单号设为索引后,原来按列名取订单号为什么取不到了;把四个需求各自匹配到合适的索引类型;说明重复索引会造成什么问题。【设计意图】对应知识目标1、2、4,突破难点索引与标签的概念区分。图书馆比喻是本节理解的关键抓手,学生有了具体形象后,才能理解为什么换了索引原来的取法就失效;四种类型按从简单到复杂排列,学生能按数据特点选类型而不是一律默认;把唯一索引准则与任务三的重复记录打通,让学生在四个任务里第二次遇到唯一性问题,形成项目内的知识闭环。环节二索引与标签:图书馆的比喻(12分钟)讲授+板书比喻讲解对照演示规范意识:索引要唯一不唯一就有歧义【教师活动】1.板演查看索引信息,逐项说明每项输出能回答什么问题:type(df.index)看索引类型;df.index[:10].tolist()看前10个值;df.columns.tolist()看列索引;index.min()与index.max()看范围。2.重点演示四个判断属性并投屏本数据集的取值:is_unique判断索引是否唯一;is_monotonic_increasing判断索引是否单调递增;dtype看索引数据类型;memory_usage(deep=True)看索引占用内存。强调其中is_unique最关键——它直接决定后面用loc查找会不会返回多条。3.板演设置行索引:df.set_index('order_id'),讲清该方法返回一个新的DataFrame,原列会成为行索引,原DataFrame不变,因此必须用变量接收返回值。4.演示设置后必做的唯一性检查:打印is_unique,若不唯一则用index.duplicated()找出重复索引值并打印重复数量与示例。5.现场跑一遍,投屏本数据集订单号索引的唯一性结果,并说明为什么会不唯一——与任务三检出的订单号重复是同一批记录。【学生活动】跟做查看与设置,记录本数据集的行索引类型、范围、是否唯一、是否单调递增;完成订单号索引设置并执行唯一性检查,报出重复索引的数量;若不唯一,写出找重复索引的代码。【设计意图】对应能力目标1、2。四个判断属性里把is_unique单列出来讲,是因为它直接连着下一环节的loc查找行为,此处不查则后面必然出错;set_index返回新对象这一点必须讲透,学生最常见的错误就是写了set_index却没用变量接收,回头发现原数据没变;现场查出订单号索引不唯一并与任务三呼应,让学生在真实数据上看到两次课的知识是如何咬合的,而不是各讲各的。环节三查看索引信息与设置行索引(15分钟)讲授+板演讲练结合(投屏+Jupyter)求实态度:设完索引必须查唯一性【教师活动】1.讲多层索引的建立:set_index(['local','brand'])同时指定多列,形成两层索引,顺序由外到内。2.演示层级信息查看三件套并投屏:nlevels返回层级数;names返回各层级名称;get_level_values(i)配合unique统计第i层的唯一值个数。3.演示分层访问,分两步推进:先用df_multi.loc['北京']取外层,查看该地区所有品牌的数据并用value_counts看各品牌条数;再用df_multi.loc[('北京','apple')]取两层,打印该组合的记录条数与平均价格。强调元组写法里的顺序必须与建立索引时的列顺序一致。4.让学生故意颠倒顺序写成loc[('apple','北京')],观察KeyError报错信息并一起读提示。5.讲tryexcept的必要性:查询的组合可能不存在,教材示例里就用了tryexceptKeyError包裹,直接访问会让程序中断。6.追问:为什么建立时把local放外层、brand放内层?若反过来会怎样?引导学生从查询需求出发决定层次顺序。【学生活动】跟做多层索引建立与三件套查看,记录层级数、各层名称与各层唯一值个数;完成外层与两层访问各一次;故意颠倒顺序触发报错并记录提示信息;说明自己选择层次顺序的理由。【设计意图】对应能力目标3、4,突破难点多层索引层次顺序。用外层—内层两步推进的演示,学生先掌握单层取法再过渡到元组取法,降低一次性接受的负荷;故意触发KeyError是本节的关键动作,学生读过一次报错信息,比反复叮嘱顺序有效;层次顺序由查询需求反推,把技术选择讲成业务决策,直接落实素质目标2。环节四多层索引与分层访问(18分钟)讲授+板演试错体验讲练结合(Python+pandas)系统思维:先想清楚按哪几个维度组织【教师活动】1.讲时间索引的建立:先用pd.to_datetime把event_time列转换为日期时间类型,再用set_index设为索引。强调两步顺序不能颠倒——未转换的字符串索引不支持按日期区间切片。2.演示时间索引的查看:type看索引类型,min与max看时间范围,两者相减得到时间跨度。现场投屏本数据集的时间范围与跨度。3.演示单日查询:df_time_indexed.loc['2020-04-24']取出该日全部记录。4.演示区间查询:df_time_indexed.loc['2020-04-24':'2020-04-26']取出三日记录,强调loc的区间切片两端都包含,与Python列表切片右端不含的规则不同。5.演示按时间维度统计:先用index.to_series().dt.date.value_counts().sort_index()得到每日订单数量并看前10天;再演示pd.Grouper(freq='M')配合agg({'price':['count','sum','mean'],'user_id':'nunique'})完成按月分组统计。6.强调时间索引的价值:一旦建立,按时间维度的查询与统计都可以直接在索引上完成,不必反复写条件筛选。【学生活动】跟做时间索引建立与查看,记录本数据集的时间范围与跨度;完成单日查询与三日区间查询,记录各自条数;完成每日订单统计与按月统计,报出订单量最高的一天与销售额最高的月份。【设计意图】对应能力目标5、6。两步顺序单独强调,是因为学生最常见的错误是对字符串索引直接做日期切片,得不到预期结果;loc区间两端都包含这一点与Python通用切片规则相反,必须显式对比才能记住;按日与按月两种统计并列演示,学生能看到同一份时间索引支撑不同粒度的分析,体会索引一旦建好后续分析都受益,回应导入环节的效率诉求。环节五时间索引与范围查询(20分钟)讲授+板演对比演示讲练结合(Python+pandas)数据伦理:用户追踪能力仅限授权范围【教师活动】1.布置综合任务:在同一份数据上依次完成三项——用订单号索引精确查找指定订单、用地区品牌多层索引分层访问、用时间索引做范围查询与按月统计。2.示范完整实现,边写边讲三处关键写法:取样本订单号用df['order_id'].iloc[0],再用loc精确查找,并用tryexceptKeyError包裹以应对订单不存在的情况;多层索引访问用元组写法并保持由外到内;时间索引查询用区间切片并注意两端都包含。3.强调三类索引是同一份数据的三种组织视图,切换索引不改变数据本身,只改变访问方式。4.引导学生读结果:指定订单的商品与价格是什么?北京地区销量最高的品牌是哪个?三日内共多少条记录?5.学生实操期间巡视,重点检查:订单号索引是否做过唯一性检查、多层索引元组顺序、时间列是否已先转换。【学生活动】独立实现三项应用,记录各自的查询结果;核对北京地区品牌分布与三日记录条数;与同桌比对按月统计结果,不一致的互相检查Grouper写法。【设计意图】对应能力目标2~6,是本次课的综合产出。三项应用放在同一份数据上连续完成,学生能直观体会索引是视图而非数据本身,这是本任务最核心的概念;tryexcept与唯一性检查被保留在综合任务里,是因为真实业务查询必然遇到记录不存在与索引不唯一两种情况,课堂内先经历一次;与同桌比对统计结果,把错误在课堂内消化。环节六综合实施:三类索引联合应用(12分钟)项目教学法演示—实操—巡视同伴互校规范意识:三种视图共用一份数据【教师活动】1.引导学生用三句话小结:①索引决定组织方式,标签是具体位置;②换索引要用set_index并接收返回值,换完必查唯一性;③三类索引是同一份数据的三种视图,按需求切换。2.板书知识框架:类型→设置→检查→访问→统计,学生拍照记录。3.课程在线教学平台推送当堂检测5题(索引与标签辨析、多层索引访问顺序、时间区间查询写法),限时5分钟,系统自动批改,当场讲评错误率最高的一题。4.布置作业并预告:下一任务「数据整合与转换」将在索引建好
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年冷轧板(卷)行业洞察报告及未来五至十年发展趋势报告
- AI营销智能体交互过程与效果有效性评估规范
- 石油化工员工考核规范
- 2026年法律行业信息安全加密与法律数据保护报告
- 2026年服装行业报告:颜值经济下的消费行为与市场前景
- 2026年智能建筑行业物联网监控与能耗管理报告
- 2026年核能行业OEMODM转型自主技术发展报告
- 2026年钢铁行业供应链稳定性与多元化发展报告
- 2026年物联网行业应用案例报告及市场前景
- 2026年儿童护肤品行业市场趋势与消费者行为报告
- 第06课从隋唐盛世到五代十国(互动型课件)-中外历史纲要上册新课件(统编版)
- 桐乡千级无尘室施工方案
- 弱电智能化项目施工技术总结
- 贵州省2021-2024年中考满分作文40篇
- 生产车间利器管理制度
- JG/T 451-2014建筑塑料门窗型材用未增塑聚氯乙烯共混料
- T/SFABA 5-2024食品配料天然度检测
- 兽医临床诊断学课件
- 银龄人才聘用协议书8篇
- 《陆上风电场工程概算定额》NBT 31010-2019
- MOOC 运筹学-北京科技大学 中国大学慕课答案
评论
0/150
提交评论