《《Python数据分析与应用案例教程》教案 第4课NumPy库(一).docx》由会员分享,可在线阅读,更多相关《《Python数据分析与应用案例教程》教案 第4课NumPy库(一).docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课题第4课NumPy库(一)课时2 课时(90 min )教学目标知识技能目标:(1 )掌握创建NumPy数组的方法(2 )掌握数组数组属性的查看方法(3 )能使用NumPy创建不同形式的数组素质目标:提高选择合适方法解决不同问题的能力教学重难点教学重点:创建NumPy数组的方法 教学难点:创建NumPy数组的方法教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教材、APP教学设计第1节课:考勤(2 min )一问题导入(5 min ) 一传授新知(28 min ) 一课堂讨论(10 min )第2节课:问题导入(8 min ) 一传授新知(20 min ) 一课堂
2、讨论(12 min )一课堂小结(3 min ) 一作 业布置(2 min )教学过程主要教学内容及步骤设计意图第一节课考勤(2 min)【教师】使用APP迸行签到【学生】按照老师要求签到培养学生的组 织纪律性,掌握学 生的出勤情况问题导入(5 min)【教师】提出问题我们已经学习了 Python数据分析常用类库,回忆一下NumPy库是什么?【学生】思考、举手回答通过提问的方 法,了解学生对已 学知识的掌握程 度,进而引出新知传授新知(28 min )【教师】总结学生的回答,并引入新知,讲解NumPy库的相关知识创建数组【教师】提出问题什么是ndarray对象?小【学生】聆听、思考、主动回答问
3、题许【教师】总结学生的回答,并讲解新知NumPy (使用之前须安装)定义了一个n维数组对象,简称ndarray对象, 它是一个由一系列相同数据类型的元素组成的数据集合.下面介绍几种创建数组 的常用函数。1 . array。函数通过教师讲解、 课堂讨论、多媒体 演示等方式,使学 生了解创建数组, 查看数组属性等中【教师】多媒体出示array。的格式(详见教材),并详细讲解函数中各部 分代表的意义numpy.array(object,(itype=None)其中,objcci表示序列;如列表、元组等,序列的维度决定了数组的维度; dtypc表示数组元素的数据类型,如果设置了数据类型,则序列中元素的
4、数据类型会 自动转换为dtype类型,默认为传入序列的数据类型。【提示】教师讲解array。函数的拓展知识【学生】聆听,思考【教师】多媒体出示NumPy中常用的数据类型表格(详见教材),并详细 讲解各种数据类型的说明相关内容类型说明类型说明bool布尔类型,值为True 或 Falsefloat 16半精度浮点数(16位)str字符型float32单精度浮点数(32位)ini8、uint8有符号和无符号的8位 整数float64/flo at双精度浮点数(64位)int!6xuin(16有符号和无符号的16 位整数complex64复数,用两个32位浮点 数表示实部和虚部int32/intK
5、uint32有符号和无符号的32 位整数complex 12 8复数,用两个64位浮点 数表示实部和虚部inl64、uint64有符号和无符号的64 位整数计【教师】按照教材步骤逐步进行演示例2-1(详见教材)的程序编写步骤:import numpy as np#导入 numpy 库arrl = np.array(l, 2, 3)#使用列表创建一维数组print(一维数组 arrl : n arrl)#输出一维数组 arrl#使用元组创建一维数组,并设置数据类型为int32arr2 = np.array(4.5, 5.6, 6.8), dtype-int32)print(一维数组 arr2 :
6、 n arr2)#输出一维数组 arr2#使用二维列表创建二维数组,并设置数据类型为float32arr3 = np.array(l, 2, 3, 4, 5. 6, dtype=float32)printC 2x3 的二维数组 arr3 : n. arr3)#输出二维数组 arr3(详见教材)“【学生】现察、记录、理解【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并 对比程序运行结果“【教师】巡视课堂记录,对学生进行个别指导讣【教师】提出学习任务,请学生进行小组讨论根据运行结果(详见教材),请同学们分析一下程序,并进行解释说明。绛Q姐arrL e. e.二嬉Q俎 (0. 0.
7、 0. 0. 0. 0.-HMWarrJj 1. 1. 1.1 二维 ItlflarM: (1. 1. U (1. 1. 1.) (1. 1. 1.11 一绛1.7882857X W。3.22649121c-307 2.78148153e【教师】多媒体出示empty。函数的格式(详见教材),并详细讲解函数的作用cmply()函数用于创建未初始化的数组,即只分配了内存空间,数组中的元素 值是随机的,其一般格式如下。numpy.empty(shape, dtype-float)import numpy as np arrl = np.zeros(2) 钟输出一维数组arrlA【教师】按照教材步骤逐
8、步进行演示例2-2 (详见教材)的程序编写步骤:#导入numpy库#创建包含2个元素,其值都为0的一维数组printC一维数组 arrl : n, arrl)arr2 = np.zcros(2, 3)#创建元素值都为。的2 x 3的二维数组蝴出二维数组arr2print(二维数组 arr2 : n, arr2)arr3 = np.ones(3)#创建包含3个元素,其值都为1的一维数组(详见教材)小【学生】观察、记录、理解【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并 对比程序运行结果小【教师】巡视课堂记录,对学生进行个别指导A【教师】提出学习任务,请学生进行小组讨论根据运行
9、结果(详见教材),请同学们分析一下程序,并进行解释说明。【学生】聆听、思考、分组讨论、小组代表回答问题*【教师】总结学生的回答,并对程序进行说明未初始化的数组arr5中的元素值都是随机的,而未初始化的数组arr6的数据 类型设置为了 int,所以数组元素值都为0。5 . arange。函数小【教师】多媒体出示arangeO函数的格式(详见教材),并详细讲解函数的 作用及各部分的意义arangeO函数用于在指定数值区间创建一个数组,类似Python的内置函数 range。,其一般格式如下。numpy.arange(start, stop. step. dtype=None)其中,scan表示起始
10、值,默认为0 ; stop表示终止值(不含);step表示步长, 默认为1。十【教师】提出问题举例说明arangc()函数表示的意义.计【学生】聆听、思考、主动回答问题【教师】总结学生的回答,并讲解新知arr = np.arange(I. 12. 3)#创建I J2)区间,步长为3的数组6 . linspaceO函数中【教师】多媒体出示linspaceO函数的格式(详见教材),并详细讲解函数 的作用及各部分的意义linspaceO函数用于在指定数值区间创建一个等差数组,其一般格式如下。numpy.linspace(start, stop, num=50, endpoinl=Truc. rets
11、tcp=False, dtype=None)其中,num表示数值区间内等差的元素个数,默认为50 ; endpoint表示数组是 否包含stop的值,如果为True则包含,否则不包含,默认为True ; retstep表示数组 中是否显示公差,如果为True则显示,否则不显示,默认为False,A【教师】提出问题举例说明linspaceO函数表示的意义。【学生】聆听、思考、主动回答问题【教师】总结学生的回答,并讲解新知#创建0,10区间,元素个数为6的等差数组arr = np.linspace(0. 1(). num=6)7 . logspaceO函数+【教师】多媒体出示logspace。函数
12、的格式(详见教材),并详细讲解函数 的作用及各部分的意义logspace。函数用于在指定数值区间创建一个等比数组,其一般格式如下。nutnpy.logspacc(start, stop, num=50, cndpoin(=True, basc= 10.0, d(ype=None)其中,start表示起始值的指数;stop表示终止值的指数;base表示对数函数的 底数,默认为10。【教师】提出问题举例说明logspace。函数表示的意义。小【学生】聆听、思考、主动回答问题【教师】总结学生的回答,并讲解新知#创建指数区间为0,5),元素个数为5 ,底数为10的等比数组arr = np.logspa
13、ce(0. 5. nuin=5, endpoint=False)中【教师】提出问题针对例2-3 (详见教材),同学们有哪些想法?【学生】聆听、思考、主动回答问题【教师】总结学生的回答,并讲解新知成绩数组的区间为0150,步长为10 ;身高等差数组的区间为11.5.2.5,公差为 0.1 (单位为m ),通过计算可得元素个数为II ;棋盘麦粒等比数组的指数区间为 0,63 f元素个数为64,底数为20【教师】按照教材步骤逐步迸行演示例2-3(详见教材)的程序编写步骤:import numpy as np#导入 numpy 库呢!J建成绩数组scorescore = np.arange(O, 16
14、0, 10. dtype=int)prinl(成绩数组 score : n score)#输出 score舱!J建身高等差数组heightheight = np.linspace(!.5. 2.5, i 1, retstep=True)prinlC身高等差数组 height : n height)#输出 height呢!)建棋盘麦粒等比数组wheatwheat = np.logspace(0, 63, 64, base=2, dtype=uint64)print(棋盘麦粒等比数组wheat : n, wheat)#输出wheat(详见教材)【学生】现察、记录、理解)【学生】教师演示完成后,学生
15、按照教材提示和教师演示进行实际操作,并 对比程序运行结果【教师】巡视课堂记录,对学生进行个别指导中【教师】提出学习任务,请学生进行小组讨论根据运行结果(详见教材)请同学们分析一下程序,并进行解释说明。成绩数组score:0 10 20 30 40 5060 70 80 90 100 110120 130 140 150身高等差数组height:(array(l.5, 1.6, 1.7, 119,,九1,9.3, 2.4, 2.5), 0.1)根檎麦粒等比数组wheat: 12481632641282565121024204840968192163843276865536131072262144
16、5242881048576209715241943048388608167772163355443267108864134217728268435456536870912计【学生】聆听、思考、分组讨论、小组代表回答问题【教师】总结学生的回答,并对程序进行说明使用logspace()函数生成等比数组时,由于后面生成的数据太大,dtype须设置 为uin164类型,否则会出现溢出现象,输出重复的大负数。【拓展阅读】请同学们扫描二维码查看利用NumPy生成随机数数组【学生】聆听,扫描二维码、思考【学生】聆听、思考、理解、记忆课堂讨论【教师】讲述“知类通达”知识,提出以下问题让学生分组讨论:通过课堂讨
17、论,/ in min、加深学生对I xu rnin)联系日常生活,说一说你有哪些启示?NumPy库创建数【学生】聆听、结组、思考、讨论、派代表发表讨论结果【教师】总结学生的回答组的灵活应用第二节课问题导入(8 min)【教师】提出问题我们已经学习了利用NumPy库创建数组,那么数组有哪些属性呢?【学生】聆听、思考、回答问题通过提问的方 法,引导学生主动 思考,激发学生的 学习兴趣传授新知(20 min)【教师】总结学生的回答,并引入新知,讲解查看数组属性,数组索引与切片的相 关内容查看数组属性【教师】多媒体展示NumPy数组的基本属性表格(详见教材),详细讲解 数组的基本属性通过教师讲解 和课
18、堂讨论,使学 生了解直看数组 属性的相关内容属性说明ndim数组的维度shape数组的形状,返回一个元组5,),表示,行列size数组中元素的总个数,等于shape属性中元组元素值的乘积, 即mxndtype数组中元素的数据类型【教师】按照教材步骤逐步进行演示例2-4 (详见教材)的程序编写步骤: import numpy as np#导入 nunipy 库#创建4x3的整数数组air = np.array(l,2, 3, 4,5, 6, 7, 8, 9, 10, 11, 12)print(14x3的整数数组:n arr)#输出数组print(数组的 ndim 属性:arr.ndim)#输出
19、ndim 属性prinlC数组的 shape 属性:arr.shapc)#输出 shape 属性print(数组的size属性: arr.size)#输出size属性priniC数组的 dtype 属性:arr.dtypc)#输出 dtype 属性(详见教材)中【学生】观察、记录、理解)【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并 对比程序运行结果中【教师】巡视课堂记录,对学生进行个别指导【学生】聆听、思考、理解、记录课堂讨论(12 min)【教师】提出学习任务,请学生分小组讨论,完成学习任务查找资料,说一说数组函数都能用来处理哪些问题?【学生】聆听、结组、思考、讨论、派
20、代表发表讨论结果【教师】聆听并评价学生的回答通过课堂讨论, 使学生能够了解 更多关于数组的 知识课堂小结 (3 min)【教师】简要总结本节课的要点本节课学习了 NumPy库的相关知识,包括创建数组,查看数组的属性等相关内 容,希望大家在课下多加练习,巩固所学知识,为以后的学习打下基础。【学生】总结回顾知识点总结知识点巩 固学生对相关知 识的印象作业布置 (2 min)【教师】布置课后作业完成课后本章考核2”的习题。【学生】完成课后任务通过课后作业 复习巩固学到的 知识才是高理论接 收能力教学反思本次课让学生了解了 NumPy库的相关知识,让学生通过大量例题熟悉关于数组的相关知识,本节课 涉及函数较多,学生容易混淆,下节课需要多复习相关知识.