高中信息技术必修一“用pandas处理数据-3.2.2表处理”教学设计_第1页
高中信息技术必修一“用pandas处理数据-3.2.2表处理”教学设计_第2页
高中信息技术必修一“用pandas处理数据-3.2.2表处理”教学设计_第3页
高中信息技术必修一“用pandas处理数据-3.2.2表处理”教学设计_第4页
高中信息技术必修一“用pandas处理数据-3.2.2表处理”教学设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

高中信息技术必修一“用pandas处理数据——3.2.2表处理”教学设计本课选自浙江教育出版社高中信息技术必修一《数据与计算》第三章第二节第二课时“表处理”。前两课时学生已经掌握了用Python读写文件、处理简单数据的基本方法,本课以pandas模块为核心,引导学生掌握Series与DataFrame两种数据结构的创建、查看、筛选、排序、统计与可视化表达,让学生在真实数据任务中体会“用程序批量化处理数据”的价值,为后续大数据分析与人工智能学习奠定扎实基础。一、课程标准依据与教材分析《普通高中信息技术课程标准》将“数据与计算”列为必修模块一,要求学生能够依据解决问题的需要,选用恰当的数字化工具处理数据,认识数据在信息社会中的重要价值。本课对应的学业要求是:掌握一种程序设计语言中常用数据处理库的基本使用方法,能够对表格数据进行组织、访问、计算与呈现。从教材内部的逻辑看,3.2节是“用计算机语言解决问题”的集中体现。2.3节的分支与循环结构、3.1节的数据采集与文件读写,都是本课的前置基础;而本课所学的表格化组织数据的思想,又将直接服务于第四章“数据处理与应用”中的数据清洗、特征分析与图表呈现。可以说,“表处理”是连接“会编程”与“会分析”的枢纽。教材给出的体测数据处理任务贴近学生生活,但数据维度单一、问题层次平铺。为使课堂更具挑战性,本课在保留教材核心知识的前提下,将情境重构为“校园图书馆借阅数据分析”:图书馆管理系统导出了一份包含学号、班级、姓名、书名、借阅日期、归还状态的借阅记录表,共586行。学生需要借助pandas完成数据概览、借阅热度统计、班级阅读力评比与逾期未还名单筛查四项任务。真实的数据规模让学生在运行程序的那一刻就能感受到批量化处理的优势。二、学情分析授课对象为高一年级学生。知识方面,学生已系统学习Python的基本语法,掌握变量的数据类型、序列结构、分支与循环语句,能独立编写小脚本来处理文本文件,理解del和sum、max等内置函数的基本用法。能力方面,多数学生能够在教师或学案提示下完成已有程序的补全,但从零开始逐行构建20行以上的完整程序尚有困难。情感方面,高一学生对“数据分析”这个名词抱有新鲜感,但容易将其等同于Excel操作,对在代码窗口敲命令来实现筛选还是存在畏难心理。需要特别关注两个差异。第一,键盘输入与代码编辑熟练程度两极分化明显,部分学生打一个中括号都要寻找半天,这决定了课堂必须提供半成品代码支架,把认知负荷聚焦在新知识而不是打字上。第二,数学基础层面学生对“平均数、频数、百分比”都很熟悉,但把它翻译成“分组聚合”的程序思想需要一个清晰的对应支架,教师要刻意搭建“人工算法”与“程序语句”之间的桥梁。据此,本课采用“任务驱动+学案支架+小组协作”的策略,将全班按四人一组混合编组,组内角色轮换:操作员负责键入代码,观察员负责核对数据,记录员负责填写学案,汇报员负责总结发言。每个任务完成后角色交换,保证人人动手。三、教学目标1.信息意识:在面对包含数百条记录的借阅数据时,能主动判断“人工逐行查看”的局限,产生用程序批量处理数据的意识;能从分析结果中提取有价值的信息,感受数据驱动的判断方式。2.计算思维:理解Series与DataFrame两种数据结构是列表、字典与二维表的程序化抽象;能将“找出逾期未还的记录”这一自然语言需求,分解为“条件判断—布尔序列—筛选取值”的可执行步骤;体会“先列后行、先条件后取值”的求解次序。3.数字化学习与创新:能借助学案中的API速查卡,自主完成DataFrame的创建、访问、筛选、排序与分组统计;能通过观察报错信息定位并修正至少一处代码错误;能尝试修改参数生成不同的图表表达个人结论。4.信息社会责任:在处理包含学号、姓名的真实感数据时,讨论数据脱敏与隐私保护的边界,初步建立“数据处理者有责任”的伦理意识。四、教学重点与难点教学重点:DataFrame的创建与基本属性查看;基于列条件的行筛选;value_counts、groupby分组聚合等常用统计方法的使用。教学难点:理解布尔型Series作为筛选条件的机制;将在数学中熟悉的“分类汇总”映射为groupby聚合链式表达;根据问题需要正确经济新闻选择正确的列结构,避免多套一层的常见错误。重难点突破策略:以“看得见中间结果”为原则,要求学生在每个关键语句后插入输出语句,让布尔筛选的过程从黑箱变为可见;用一张“人工操作—等效语句”对照卡,例如“给Excel筛选框打勾对应data[条件语句]”,帮助学生建立语法感;对groupby采用“先画图表示分组,再写代码”的两步走,先让学生在学案上把586条记录按班级画成分堆示意,再落笔groupby(“班级”)。五、教学准备教师端:机房预装Python3.10与pandas1.5、matplotlib库,确保中文显示无乱码;准备半成品源文件lesson3_2_2.py,其中环境检查、数据导入部分已完成,核心统计分析处留白;借阅数据集borrow.csv,共586行7列,含少量预置的“脏数据”(2条归还状态为空的记录)作为拓展素材;大屏幕演示课件;课堂评价量表。学生端:每人一份四层学案——任务描述页、API速查卡、操作记录页、反思页;机房分区双选题排队贴,便于开展“正方反方”情景观腾。六、教学过程(一)情境导入:一张表引发的现场质疑(约6分钟)上课伊始,教师在投影上打开borrow.csv,双击滚动展示586行借阅记录,随即抛出问题:“学校准备在下学期为阅读氛围最好的三个班级各追加一次科普图书采购。校长希望你能用这份数据给出可信的推荐名单,并要求说明依据。给你两分钟,目测能得出结论吗?”学生翻页浏览后普遍摇头。教师追问:“有同学想到用Excel排序,可以,但还缺了什么?”引导学生意识到:单凭人工浏览只能得出印象,不能得出“有依据、可复核”的结论,“依据”来自统计。教师顺势板书核心命题:“把问题翻译成对这张表的几次运算,让计算机替我们把结果算出来。”随后揭示本课标题“表处理——用pandas让586行数据开口说话”。设计意图:用一个有真实利害关系的小型决策情境取代教材中较常规的展示,制造认知冲突,让学生在第一分钟就明确“今天要解决的不是语法问题,而是一个值得认真回答的问题”。(二)温故知新:搭建新旧知识的桥梁(约6分钟)教师提问:“不用任何新库,用我们已学的csv模块加for循环,有没有可能算出每个班的借书人次?”学生回顾后回答可能。教师指出思路逻辑:逐行读入、字典计数、最后输出。随后强调这种写法的成本——逻辑正确,但代码冗长,要实现“只统计文学类图书”又得嵌套分支,不易维护。教师小结:“pandas为我们提供了成型的数据结构。本课只需掌握两种:Series是有索引的一列数据,DataFrame是若干Series并列拼成的一张表。”同时在黑板上画出示意:DataFrame=多个Series横排共用索引;用一句话概括“先列后行”的规则——指明列,再谈条件。设计意图:先让学生珍识“已有方法也能完成任务”,再自然引出“为什么还要学新库”,避免把pandas当成教师强加的工具,而是作为解决痛点的合理进化。(三)任务一:把csv读成一张能“看见头尾”的表(约8分钟)教师演示半成品程序的前两部分:importpandasaspddf=pd.read_csv(“borrow.csv”)print(df.head())查看前五行print(df.tail(3))查看末尾三行print(df.shape)(586,7)print(df.columns)学生在学案上记录观察到的列名:学号、班级、姓名、书名、类别、借阅日期、归还状态。教师强调两个约定:第一,导入习惯命名为pd;第二,df等于DataFrame的常用简写。随后学生动手运行,学案要求在操作记录页抄下df.shape的返回值并写下含义,避免学生把(586,7)当作无关紧要的黑十字。教师随机抽取两组汇报:“全班是否在586行的数据规模上达成一致?”若有学生对head(3)与tail(3)产生混淆,则请其面向全班解释,形同同伴互教。设计意图:用低开销的第一段代码建立“数据已被成功装入”的信心;将shape与head的默认行为抛出来让学生观察,而不是照本宣科。(四)任务二:找出逾期未还——条件筛选的核心一课(约12分钟)教师抛出问题:“学校需要名单提醒,请找出归还状态为‘未还’的记录,并只输出学号、班级、姓名。”第一步,板书分解思维:条件表达式df[“归还状态”]==“未还”,会得到一列由True和False构成的Series;把这个布尔Series再交回给df,得到的就是命中行。用一句话概括口诀:“先把每一行拿尺子量一遍,再把合格的一行行挑出来。”第二步,教师先完整演示标准做法:code_mask=df[“归还状态”]==“未还”print(code_mask.head())df_not_return=df[code_mask]print(df_not_return[[“学号”,”班级”,”姓名”]])第三步,学生在学案上补全,教师巡视,重点干预两类典型错误:把条件写成单个等号导致赋值错误;把[“学号”],名单查询误写成字符串而非列表,提示学生观察报错信息中的KeyError。第四步,经验点升华。教师提问三个层次的问题:能改成“归还状态为‘未还’且班级为‘103班’”的双条件吗?引出(条件一)&(条件二),强调两侧条件必须带括号;如果把条件写成单竖线|与单&之外的全角符号会发生什么;布尔Serie的长度与原DataFrame长度之间的关系是什么,为什么这一点让下一式df[条件]具备筛选能力。第五步,组内交换角色,轮换操作员,教师从组长的学案上抽取一份展示修正记录,并点评“出错—读懂报错—修正”这一闭环就是本课最宝贵的“数字化学习”过程。设计意图:本课最核心、对学生而言最反直觉的一步就是布尔筛选。采用“先拆开看布尔序列—再交给外层取行”的两段式示范,把抽象规则变成可直接验证的观察者视角。(五)任务三:统计借阅热度与班级阅读力(约14分钟)任务三的目标是让学生第一次接触分组聚合。教师板书两个问题:“哪种书最热门?哪个班阅读人次最高?”学生第一反应是排序,教师顺势提供value_counts单值频数统计作为第一层支架。子任务一:图书与类别热度演示:df[“书名”].value_counts()取前五行,print(df[“类别”].value_counts().head(5))学生在学案记录:“科幻小说”129次、“散文集”87次等。教师要求记录员写下“返回的是Series,行标签是类别,数据值是频数”,为后续更复杂的聚合奠定认知。子任务二:班级阅读力评比教师先在学案的示意图上让学生把586条记录按班级“分成六堆”,再写出程序表达:df.groupby(“班级”)[“学号”].count()或写作df.groupby(“班级”).size(),均可得到各班人次。随后引导深化的思维挑战:“如果校长希望考虑到各班人数差异,推荐时应按人均统计,这组数据缺什么?能用什么办法补?”学生发现当前表没有人数字段,教师提示可将班级人数表另行读取、或用df.shape等结合外部常量计算。小组讨论后给出一种合理替代:以“各班人次除以各班人数”的方法直接嵌套投影公式,完整公式如下,并以可视化等式呈现:班级人均借阅量=班级借阅总人次÷班级实际人数学生在学案上以实际数字如“102班:96÷48=2.0”等算得各班人均值,教师点拨“除以零”和“人数缺失”两类异常将使表达式出错,这正是下一课数据清洗要解决的问题。子任务三:结果排序呈现在上一步结果上追加.sort_values(ascending=False),得到从高到低的顺位排名。教师提醒默认升序的“隐形陷阱”:忘记ascending参数是很多作业第一名的班级变成最后一名的元凶。此时再让各组用最短的句式补全程序并运行对比。设计意图:用“先分堆、再聚合、再排序”的三步节奏,把一个对高一学生颇具挑战的链式表达拆解为有心理参照的操作序列;把“人均”校正视图嵌入课堂,使数据素养层面的“以分母体现公平”的思想受到关注。(六)任务四:从“能算出”到“看得懂”——图表呈现(约5分钟)教师演示一条最简的柱状图产出流程,提醒学生活学配置中文显示:importmatplotlib.pyplotaspltdf[“类别”].value_counts().plot(kind=“bar”)plt.show()学生运行后观察柱形图,教师抛出两个开放问题:如果让图看起来便于汇报,是否应该复制粘贴后美化?哪些结论只能用人眼先看到?教师点拨:“图是沟通工具,代码给出数字,图帮我们讲给别人听。”设计意图:时间控制为展示性任务,目的是打开学生对后续章节“数据可视化”的期待,而不追求深入讲解绘图参数。(七)归纳提升:一张对照卡统摄本课(约4分钟)教师组织学生用一句话完成下表,每组认领一行:查看前几行→head;查看规模→shape;按条件挑行→df[条件];按类别计数→value_counts;按字段分组求和计数→groupby;排序→sort_values;画图→plot。教师总结核心思想:“表处理的本质是把自然语言的问题,翻译成有限步、可复现的运算链。今天学会了六节‘管道’,今后任何一张结构化数据表都可以在它们之间自由装配。”(八)分层作业与课后拓展(约3分钟)必做:修改本课脚本,分别完成“只统计科普类图书”与“找出借阅日期在某个区间内的记录”两个新需求,要求保存全部输出结果截图。选做一:发现数据集中有2条“归还状态”为空的记录,尝试使用dropna、fillna中的任意一种加以处理,并说明为什么选它而不是另一种。选做二

温馨提示

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

评论

0/150

提交评论