版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE100《python数据分析原理与应用》教案适用课程:大数据分析技术、大数据分析基础、数据挖掘基础、现代商务数据分析等322《大数据分析技术》课程教案时间安排:课程周学时4,共8周,总学时32(1PPT讲解与学生代码实操相结合,并结合时效性较强的素材,以便加强学生对重点知识点的理解和实际编程操作。(2)针对授课过程中拟用的程序和案例,鼓励学生对代码的可行性和可替(3)在部分章节知识点讲解结束后安排学生进行分组实验,完成代码编写(4)采用课堂讲解、随堂练习、分组实验、报告撰写、闭卷开始等多元化教学特色Python语+代码编写+师资队伍:本课程主讲教师应该具有讲师及以上职称,获得相关专业博士学位,具有管理学、计算机科学等相关专业背景,熟悉Python语言,具有一定建模工作能力和科研经验。教学目标Python作为主要工具,要求学生掌握大数据分析的思维方学生能够基于科学原理和数学模型方法对具体行业相关的复杂问题寻求解决方案并给出合理有效的结论和预测方案,以满足解决实际管理问题的需求。先修课程:高等数学、数理统计、Python等《大数据分析技术》课程教案授课内容第一章导论计划课时2教学目的与要求使学生了解数据分析的概念和一般流程使学生掌握大数据分析的基本流程和方法使学生明晰大数据分析的研究方向、职业前景和岗位要求使学生熟悉Python(Anaconda拓展库JupyterNotebook开发工具(主界面使用技巧、快捷键用法)重点难点PythonJupyterNotebook主界面和代码编辑界面功能,以及快捷键用法教学进程安排授课内容:(1《大数据分析技术》课程概述介绍本课程的学科地位、后续学习和研究的方向、课程内容、考核方式、教材和参考书目。(2)数据分析的概念和基本流程讲解数据分析的概念和基本流程。(3)为什么选用Python进行大数据分析讲解大数据分析的特点和要求,Python语言的优点和适用性。(4)数据分析标准环境Anaconda部署讲解Anaconda版本、安装包下载、拓展库安装等。(5)JupyterNotebook开发工具界面和使用说明讲解Jupyter用途、主界面和代码编辑界面功能、快捷键用法等。一、 课程导入5G时代的到来,使得每个人都可以随时随地创造新的商业价值,以及发现企业自身的问题和预测企业的未来。在实际工作中,无论从事什么行业、什么岗位,从数据分析师、市场营销策划、析的基本流程、为什么选用Python进行大数据分析、数据分析环境Anaconda、JupyterNotebook开发工具使用说明等。二、 新课讲解知识点1:数据分析简介及基本流程教师通过PPT、视频演示和流程图展示的方式讲解数据分析的基本流程。数据分析是利用数学、统计学理论与实践相结合的科学统计分析方Excel下图为数据分析的基本流程,主要环节包括熟悉工具、明确目的、获取数据、数据处理、数据分析、验证结果、结果呈现和数据应用。熟悉工具问题定义数据收集数据处理熟悉工具问题定义数据收集数据处理报告撰写数据展现结果验证数据分析报告撰写数据展现结果验证数据分析ExcelSPSSR语言、PythonPython(2)问题定义:这是首先要明确的,也就是说我们分析的问题是什那么在问题定义的时候你就需要想清楚,需要针对哪些因素进行重点分析。(5)数据分析:用适当的分析方法及工具,对处理好的数据进行分(6)结果验证:对数据分析的结果进行验证,找到结果的影响因素,方便做出更好的决策。(7)数据展现:通过数据分析,隐藏在数据中内部的关系和规律逐知识点2:为什么用Python进行大数据分析教师通过PPT的方式讲解大数据分析的特点和为什么用Python进行大数据分析4Excel等工具软件进行大数据分析Excel等工具软件承载的数据量有限。Excel工作表中最多只能有104万行记录,这对大数据来说是远远不够的,即使是在范围内的几万条数据量,在操作时也会出现较长时间的等待和卡顿。Excel等工具软件功能固化。深入的数据分析需要用复杂的公式、Excel等工具软件菜单栏中的操作选项只适合用户进行简单的表层分析,中间步骤出错很多环节需要重新调整,浪费很多时间。Python语言进行大数据分析Python语言功能完善。Python不仅在数据分析方面有突出的表现Python第三方库功能强大。Python语言是开源的,第三方库一直NumpyPythonPython数据结构高效的多;PandasPython数据分析的核心库,提供了一系分析过程可控、复用性强Python知识点3:Python数据分析标准环境部署教师通过PPT和视频演示的方式讲解如何搭建数据分析标准环境AnacondaAnacondaPython180Pythonconda常用命令来进JupyteMtplotlibumpy、ScipyPandasScikit-learnAnaconda(/)Anaconda包含了大量的第三方库,安装文件较大(1GB,又是国外网站,下载速度较慢,可以到国内清华大学开源软件镜像站(/anaconda/archive/)下载。下载步骤如下:(1)查看计算机操作系统位数,确认下载版本;(2)进入官网下载Anaconda;(3)选择安装Anaconda菜单项;(4)根据计算机操作系统选择相应的操作系统,同时选择Python版本,并开始下载Anaconda。AnacondaNavigtor:用于管理工具包和环境的图形用户界面;AnacondapowershellAnacondaJupyterNotebookweb的交互式环境,可以编辑符合人们阅读习惯的程序或文档,用于展示数据分析的过程;SpyderPython变成的集成开发环境。Anaconda拓展库具体步骤如下:(1)在开始菜单选择AnacondaPrompt命令,弹出终端界面;(2)使用pip、conda工具安装拓展库,具体为:condainstallnumpy:numpy拓展库condalist:列示所有安装的拓展库condaupgradenumpy:numpy拓展库condaupgradeall:更新所有的拓展库condaversion:conda的安装版本-condaupgradeconda:升级conda到最新版本拓展库名-I镜像网站网址知识点4:JupyterNotebook开发工具的使用PPTJupyterNotebook开发工具特点、功能和使用要求。JupyterNotebook用户在网页页面编写程序和运行代码,运行结果会直接显示在代码块下Jupyternotebook环境中进行的。下面介绍Jupyter的使用:Jupyter主界面功能JupyterNotebook启动编译软件,进入如下界面:也可以在终端运行:jupyternotebook--port8888来打开JupyterNotebook。主界面是代码文件的列表管理界面,为代码文件提供了建立、删除、Files用于创建和管理文件,New选择创建的文件类型。代码编辑界面的功能如下图:文档名称
菜单栏
工具栏在下面剪切复制粘贴选选运保插入一单元单元单元上下行
重重启内中新核,重新存个新的格 格 格cell
一当个个前
断开运行所始有的cell双击文档名称可以进行重命名,菜单栏和工具栏我们会在后面的使用中逐渐熟悉起来。JupyterNotebook(Command、编辑模式(EditMode,绿色单元格。Jupyter快捷键用法在命令模式下,快捷键及相应的用法如下:Y:单元格进入代码格式MMarkdown模式1:一级标题2:二级标题Shift+M:合并单元格A/B:在上(下)插入单元格X:剪切单元格C:复制单元格Shift+L:全部代码块显示行号0:隐藏输出在编辑模式下,快捷键及相应的用法如下:Ctrl+]:缩进Ctrl+/:注释Ctrl+M:进入命令模式Ctrl+Shift+-:切分代码块Shift+Enter:运行并选中下一块Ctrl+Enter:运行代码块Alt+Enter:运行并在下方插入新块三、代码练习Eg1:古诗横排改竖排#古诗横排改竖排str1,str2,str3,str4='千山鸟飞绝,','万径人踪灭,','孤舟蓑笠翁,','独钓寒江雪。'verse=[list(str1),list(str2),list(str3),list(str4)]print('\n 横排 ')print('\n***********************')foriinrange(4):forjinrange(6):ifj==0:print('**'+verse[i][j],end=' ')elifj==5:print(verse[i][j]+ '** ')else:print(verse[i][j],end='')print('************************\n')代码运行效果(横排)如下:verse.reverse()print('\n 竖排 ')print('\n************************')foriinrange(6):forjinrange(4):ifj==0:print(' *** '+verse[j][i],end=' ')elifj==3:print(verse[j][i]+' ***')else:print(verse[j][i],end='')print(' ************************\n')代码运行效果(竖排)如下:四、 归纳总结Anaconda下载及拓展库安装、JupyterNotebook五、 布置作业教师通过超星智慧教育平台布置本节课作业,并安排下节课的预习任务。教学方式PPT示等方式进行教学主要参考资料①《Python机械工业出版社,2025年11月②《Python②《Python数据分析从入门到实践》明日科技高春艳刘志铭编著,吉林大学出版社③《Python数据分析从入门到精通》明日科技编著,清华大学出版社《大数据分析技术》课程教案授课内容第二章Numpy与数组运算计划课时4教学目的与要求Numpy安装和数组的相关概念使学生能够熟练进行数组的基本操作Numpy矩阵的基本操作使学生能够灵活运用常用统计分析函数重点难点数组的创建、运算、索引、切片和重塑矩阵的创建、运算、转换数学运算函数和统计分析函数的运用教学进程安排授课内容:Numpy概述和数组概念介绍Numpy相关概念和安装Numpy。创建数组和数组属性讲解数组基础和创建,包括数组参数、元素类型、数组属性等。数组的基本操作讲解数组索引、切片、运算、排序等。矩阵的基本操作讲解矩阵的创建和运算。Numpy随机函数和常用统计分析函数讲解数学运算函数和统计分析函数的运用。(6)图像的数组表示和转换讲解PIL库图像的数组表示和转换。一、复习巩固和课程导入Python进行大数据分析、以及数据分析的标准环境Anaconda部署和JupyterNotebook开发工具的用法。接下来,我们将具体学习核心拓展库的用法。本节课开始我们将对Numpy模块的相关概念和用法进行介绍,包括创建数组、数学计算、矩阵运算、随机函数和统计函数。二、新课讲解知识点1:Numpy概述和数组概念教师通过PPT的方式讲解Numpy和数组的相关概念NumpyPython在学习Numpy前我们需要先学习数组的概念。数组可以分为一维数组、二维数组、三维数组,其中三维数组是常见的多维数组。Python原始数组,也就是说,如果对数组进行修改,原始数组也会跟着改变。1 2 3 4axis0axis0二维数组:以数组作为数组元素的数组,包括行和列,类似于表格形式,又成为矩阵。axis012344axis15673的数组结构,也称为矩阵列表。axis013254axis01325464 5 63468 910583 7 7axis1axis进行相关操作。知识点2:创建数组和数组属性教师通过PPT和代码演示的方式讲解用不同方式创建数组的做法,并介绍数组属性Numpy创建简单的数组主要使用array函数,语法如下:numpy.array(object,dtype=None,copy=True,order=’k’,subok=False,ndmin=0)object:任何具有数组接口方法的对象。dtype:数据类型。copy:Trueobject对象可复制。order:KACFobject参(CFobject按行按列A(原顺序、K(元素在内存中的出现顺序。subok:True,则将传递子类,否则返回的数组将强制为基类数组。ndmin:指定生成数组的最小维数。下面通过几个例子来演示如何创建数组,并介绍数组属性。Eg1:创建简单的数组importnumpyasnpn1=np.array([1,2,3])n2=np.array([0.1,0.2,0.3])n3=np.array([[1,2],[3,4]])print(n1,n2,n3)程序运行结果如下:Eg2:为数组指定数据类型importnumpyasnplist=[1,2,3]n4=np.array(list,dtype=np.float_)n4=np.array(list,dtype=float)print(n4)print(n4.dtype)print(type(n4[0]))程序运行结果如下:Eg3:数组的属性importnumpyasnpn5=np.array([[0,1,2,3,4],[9,8,7,6,5]])n5.ndimn5.shapen5.sizen5.dtypen5.itemsize程序运行结果如下:表示这个数组有2个维度表示这个数组的形状,有2个维度,第一个维度有2个方向,第2个维度有5个元素表示这个数组中有10个元素表示该数组为32位的整数类型表示每个元素是由4个字节构成Eg4:数组的复制copy参数实现,示例代码如下:importnumpyasnpn6=np.array([1,2,3])n7=np.array(n6,copy=True)n7[0]=3n7[2]=1print(n6)print(n7)程序运行结果如下:Eg5:通过数值范围创建数组通过arange()函数创建数组,arange()函数与range()函数相似,但arange()range()arange()函数的语法与应用如下:arange([start,]stop[,step,],dtype=None)参数说明:start:0。stop:终止值,不包含。step:步长,默认值为1。dtype:创建数组的数据类型,如果不设置数据类型,则使用输入数据的数据类型。importnumpyasnpn8=np.arange(1,12,2)print(n8)程序运行结果如下:Eg6:使用linspace函数创建等差数列通过linspace函数创建等差数列,其语法与应用如下:linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None)参数说明:start:序列的起始值。stop:endpointTrue,则该值包含于数列中。num:要生成的等步长的样本数量,默认值为50.endpoint:如果值为True,数列中包含stop参数的值,反之不包含,默认值为True。retstep:True,则生成的数组中会显示间距,反之不显示。dtype:数组的数据类型。importnumpyasnpn9=np.linspace(500,2500,6)print(n9)程序运行结果如下:Eg7:使用logspace函数创建等比数列logspace函数语法和应用如下:numpy.logspace(start, stop, num=50, endpoint=True, dtype=None)参数说明:start:序列的起始值。stop:序列的终止值,如果endpoint参数的值为True,则该值包含于数列中。num:要生成的等步长的样本数量,默认值为50。endpoint:如果值为True,数列中包含stop参数的值,反之不包含,默认值为True。base:对数log的底数。dtype:数组的数据类型。importnumpyasnpn10=np.logspace(0,63,64,base=2,dtype=’int’)print(n10)程序运行结果如下:知识点3:数组的基本操作教师通过PPT和代码演示的方式讲解数组的基本操作,包括切片、索引、运算、排序等(1)数组的索引和切片数组中第一个元素的索引为0,numpy数组可以使用Python语法x[obj]x0开始向右递增,或者从最右侧向左递减两种索引方式。Numpy[start:stop:step]参数说明:start:起始索引。stop:终止索引,不包含。step:步长。一维数组的索引和切片Eg8:importnumpyasnpn11=np.array([9,8,7,6,5])print(n11[2])print(n11[1:4:2])print(n11[4:1:-2])print(n11[:-1])程序运行结果如下:表示该数组索引为2的元素为714结束(42的元素,即索138651(1,步长为2的元素,5357表示从左向右索引从0递增到4,步长为-1的元素,即索引为0、1、2、3的元素为9、8、7、6。多维数组的索引和切片Eg9:importunmpyasnpn12=np.arange(24).reshape((2,3,4))print(n12)程序运行结果为:为了方便大家理解,将三维数组的示意图表示如下:axis=0:纵深axis=2:水平12 13 14 150 1 2 316 17 18 19axis=1:垂直 4 5 6 720 21 22 238 9 10 11print(n12[1,2,3])1(2层2(3行3(4列)23。print(n12[0,1,2])0(1层1(2行2(3列)的元素,即为6。print(n12[-1,-2,-3])注意:参数为负值时表示反向索引,反向索引示意图如下:正向索引: 0 1 2 3 4 5 6 7 8 9反向索引: -10 -9 -8 -7 -6 -5 -4 -3 -2 -1请大家注意,多维数组的每一个维度的索引值用逗号分隔。print(n12[:,1,-3])012301234567891(2行,第三个维度索引值为3(3列)517。print(n12[:,1:3,13(不包含3,即垂直第2行到第3行)的元素,结果为上图。print(n12[:,:,::2])2,结果如上。请大家注意,和一维数组一样,多维数组的切片也是用冒号分隔。(2)数组运算数组的标量运算。数组与标量之间的运算作用于数组的每一个元n12计算它与各个元素的算数平均值的商,代码如下:print(n12/n12.mean())程序运行结果如下:Numpy一元/体函数和相关说明如下表所示。Numpy一元函数Numpy二元函数下面我们做几个例子巩固一下:Eg10:n12的平方print(np.square(n12))程序运行结果如下:函数说明函数说明np.abs(x).fabs(x)计算数组各元素的绝对值np.sqrt(x)计算数组各元素的平方根np.square(x)计算数组各元素的平方np.log(x)np.log10(x)np.log2(x)计算数组各元素的自然对数、10底对数和2底对数np.ceil(x)np.floor(x)计算数组各元素的ceiling值或floor值np.rint(x)计算数组各元素的四舍五入值np.modf(x)将数组各元素的小数和整数部分以两个独立数组形式返回np.cos(x)np.cosh(x)np.sin(x)np.sinh(x)np.tan(x)np.tanh(x)计算数组各元素的普通型和双曲型三角函数np.exp(x)计算数组各元素的指数值np.sign(x)计算数组各元素的符号值,如1(+),0,-1(-)函数说明+-*/**两个数组各元素进行对应运算np.maximum(x,y)np.fmax()np.minimum(x,y)np.fmin()元素级的最大值、最小值计算np.mod(x,y)元素级的模运算np.copysign(x,y)将数组y中各元素值的符号赋值给数组x对应元素><>===!=算数比较,产生布尔型数组Eg11:计算数组n12的平方根print(np.sqrt(n12))程序运行结果如下:Eg12:n12n13元素中的最大值n13=np.sqrt(n12)print(np.maximum(n12,n13))程序运行结果如下(结果为浮点数:数组排序数组排序是对数组的元素进行排序。sort函数。sortaxis指定按行排序还是按列排序。Eg13:importnumpyasnpn14=np.array([[4,7,3],[2,8,5],[9,1,6]])print(‘数组排序:’)print(np.sort(n14))print(‘按行排序:’)print(np.sort(n14,axis=0))print(‘按列排序:’)print(np.sort(n14,axis=1))程序运行结果为:argsortargsortEg14:importnumpyasnpn15=np.array([4,7,3,2,8,5,1,9,6])print(‘升序排序之后的索引值’)n16=np.argsort(n15)print(n16)print(‘排序后的顺序重构原数组’)print(n16[n15])程序运行结果如下:lexsort函数。用于对多个序列进行排序,可以把它看做是对电子lexsort函数的用法。某班级录取学生按照总成绩录取,但名额优先,在总成绩相同时,数学成绩高的的学生会被优先录取,lexsort函数对学生成绩进行排序,代码如下:Eg15:importnumpyasnpmath=np.array([101,109,115,108,118,118])en=np.array([117,105,118,108,98,109])total=np.array([621,623,620,620,615,615])sort_total=np.lexsort((en,match,total))print(‘排序后的索引值’)print(sort_total)print(‘通过排序后的索引获取排序后的数组:’)print(np.array([[en[i],math[i],total[i]]foriinsort_total]))程序运行结果如下:620的两名同615的两知识点4:矩阵的基本操作教师通过PPT和代码演示的方式讲解矩阵的基本操作,包括矩阵创建、转换、求逆、运算等。在Numpy中,矩阵是数组的分支,数组和矩阵有时候是通用的,二维数组也称为矩阵。(1)矩阵创建用mat函数创建矩阵,通过以下示例来创建常见的矩阵。注意,mat函数只适用于二维矩阵,当维数超过2后,mat就不适用了。3*30-1importnumpyasnpn17=np.mat(np.random.rand(3,3))print(n17)程序运行结果如下:Eg17:创建对角矩阵。代码如下:importnumpyasnpn18=np.mat(np.eye(2,2,dtype=int))print(n18)n19=np.mat(np.eye(4,4,,dtype=int))print(n19)程序运行结果如下:(2)矩阵运算如果两个矩阵的大小相同,我们可以用算数运算符+-*/对矩阵进行加、减、乘、除的运算。矩阵的加法运算Eg18:importnumpyasnon20=np.mat([[1,2],[3,4],[5,6]])n21=np.mat([1,2])print(n20+n21)程序运行结果如下:加法示意图如下:n201 2
n21
n201 2
n211 2 2 4n20+n21=34+12=34+12=4656561268矩阵的减法、乘法和除法运算Eg19:importnumpyasnpn20=np.mat([[1,2],[3,4],[5,6]])n21=np.mat([1,2])print(n20-n21)print(n20/n21)程序运行结果如下:n21是一行,所以导致程序出错。下面修改矩阵并进行乘法运算,代码如下:Eg20:importnumpyasnpn20=np.mat([[1,2],[3,4],[5,6]])n22=np.mat([[1,2],[3,4]])print(n20*n22)程序运行结果如下:矩阵相乘是第一个矩阵中与该元素行号相同的元素与第二个矩阵与该元素列号相同的元素,两两相乘后再求和,乘法示意图如下:n20 n221 2 1 2 1 * 1 + 2 * 3n20*n22=3 4*3 4 = 3 * 1 + 4 * 35 6 5 * 1 + 6 * 31 * 2 + 2 * 4 7 103 * 2 + 4 * 4 = 15225 * 2 + 6 * 4 2334矩阵转换使用T属性实现矩阵转置。Eg21:importnumpyasnpn23=np.mat(‘133;456;789’)print(n23)print(‘矩阵转置结果为:\n’,n23.T)程序运行结果为:矩阵求逆(即矩阵的行列式的值为0I属性。Eg22:importnumpyasnpn23=np.mat(‘133;456;789’)print(‘矩阵的逆矩阵结果:\n’,n23.I)程序运行结果如下:知识点5:Numpy随机函数和常用统计分析函数教师通过PPT和代码演示的方式讲解Numpy随机函数和常用统计分析函数的用法和说明。(1)随机数函数Numpy的random子库有np.random.* np.random.rand()np.random.rand() np.random.randn() np.random.randint()np.random的随机数函数1函数说明rand(d0,d1,…,dn)根据维度的形状生成随机数数组,其中每一个元素是[0,1]之间的浮点数,元素之间均匀分布randn(d0,d1,…,dn)生成n维随机数组,元素符合标准正态分布randint(low,[,high,shape])在shapeseed(s)随机数种子,s是给定的种子值下面我们看一些具体的例子:Eg23:importnumpyasnpn24=np.random.rand(3,4,5)print(n24)程序运行结果如下:Eg24:importnumpyasnpn25=np.random.randn(3,4,5)print(n25)程序运行结果如下:Eg25:在整数100到200之间生成3层4维的随机数组importnumpyasnpn26=np.random.randint(100,200,(3,4))print(n26)程序运行结果如下:除了上述的随机数子库,random还提供了一些具有高级功能的随机数子库,如下表。np.random的随机数函数2下面我们看一些具体的例子比较这些函数的用法:Eg26:importnumpyasnpn26=np.random.randint(100,200,(3,4))函数函数说明shuffle(a)alxpermutation(a)根据数组a的第l轴产生一个新的乱序数组,不改变数组xchoice(a[,size,replace,p])apsize认为Falseprint(n26)n27=np.random.shuffle(n26)print(n26)n28=np.random.shuffle(n26)print(n26)程序运行结果如下:Eg27:importnumpyasnpn26=np.random.randint(100,200,(3,4))print(n26)n29=np.random.permutation(n26)print(n29)print(n26)程序运行结果如下:结合这两个例子可以发现,shuffle函数使原数组发生了变化,而permutation函数并没有使原数组改变。Eg28:importnumpyasnpn30=np.random.randint(100,200,(8,))print(n30)n31=np.random.choice(n30,(3,2))print(n31)n32=np.random.choice(n30,(3,2),replace=False)print(n32)n33=np.random.choice(n30,(3,2),p=n30/np.sum(n30))print(n33)程序运行结果如下:从上面的结果可以看到,choice函数生成的随机数组中有元素被重replaceFalse,运行出来的结果就没有重复出p为每一个元素赋值一个抽取的概p=n30/np.sum(n30),也就是说,元素的值越大,它被抽取的概率越高。random函数,Numpyrandom还提供了带有分布的函数,如下表:np.random的随机数函数3下面我们看具体的例子:Eg29:importnumpyasnpn34=np.random.uniform(0,10,(3,4))print(n34)程序运行结果为:函数函数说明uniform(low,high,size)产生元素能够均匀分布的数组类型,low指定起始值,high指定结束值,size为新生成数组的形状normal(loc,scale,size)产生元素为正态分布的数组,loc为均值,scale为标准值,size为数组形状poisson(lam,size)产生元素为泊松分布的数组,lam为随机事件发生率,size为数组的形状Eg30:importnumpyasnpn35=np.random.normal(10,5,(3,4))print(n35)程序运行结果如下:(2)统计函数统计函数就是对Numpy中的数组进行统计分析的函数,下面我们看Numpy提供的常用的统计函数有哪些。np.random的统计函数1函数说明sum(a,axis=None)根据给定轴axis计算数组a相关元素之和,axis整数或元素mean(a,axis=None)axisa,aisaverage(a,axis=None,weights=None)根据给定轴axis计算数组a相关元素的加权平均值std(a,axis=None)根据给定轴axis计算数组a相关元素的标准差var(a,axis=None)根据给定轴axis计算数组a相关元素的方差其中,axis=None是统计函数的标配参数,不指定轴的话就是对所有轴进行统计分析。我们我们看一些例子。Eg31:importnumpyasnpn36=np.arange(15).reshape(3,5)print(n36)n37=np.sum(n36)print(n37)n38=np.mean(n36,axis=1)print(n38)n39=np.mean(n36,axis=0)print(n39)n40=np.average(n36,axis=0,weights=[10,5,1])print(n40)n41=np.std(n36)print(n41)n42=np.var(n36)print(n36)程序运行结果如下:这里注意区分轴。np.random的统计函数2下面我们继续看一些例子。Eg32:n43=np.arange(15,0,-1).reshape(3,5)print(n43)n44=np.max(n43)print(n44)n45=np.argmax(n43)print(n45)n46=np.unravel_index(np.argmax(n43),n43.shape)print(n46)n47=np.ptp(n43)函数函数说明min(a) max(a)计算数组a中元素的最小值、最大值argmin(a)argmax(a)a(扁平化后的下标)unravel_index(index,shape)shapeindex(维下标)ptp(a)计算数组a中元素最大值与最小值的差median(a)计算数组a中元素的中位数(中值,结果为浮点数)print(n47)n48=np.median(n43)print(n48)程序运行结果为:知识点6:图像的数组表示和变换教师通过PPT和代码演示的方式讲解图像的数组表示方法。RB(R(256RGB形成的颜色包括RGB色彩。PythonPIL(PythonImage这个AnacondaIDE的话,这个库已pipinstallpillowPILpillow,但是我们PIL。在PIL库中,可以使用fromPILimportImage来引入一个图像的类(Image),ImagePILImage对象代表了一个图像,下面我们看图像的数组表示。图像是一个由像素组成的二维矩阵,每个元素是一个RGB值。通过PILImageEg33:fromPILimportImageimportnumpyasnpim1=np.array(Image.open(“C:/Users/lenovo/wanankuangda.jpg”))print(im1.shape,im1.dtype)程序运行结果为:RGBRGB值上有三个元素,R、G、B分别由一个uint8类型来表示。RGB值的数Eg34:fromPILimportImageimportnumpyasnpim2=np.array(Image.open(“C:/Users/lenovo/wanankuangda.jpg”))print(im2.shape,im2.dtype)im3=[255,255,255]-im2im4=Image.fromarray(im3.astype(‘uint8‘))im4.save(“C:/Users/lenovo/wanankuangdahb.jpg“)程序运行结果如下:图像由上述左图变为右图。Eg35:fromPILimportImageimportnumpyasnpim5=np.array(Image.open(“C:/Users/lenovo/wanankuangda.jpg”).conver#将一个彩色的图片变为一个灰度的图片im6=255-im5 #对灰度值取反im7=Image.fromarray(im6.astype(‘uint8’)) #还原回图像的类型im7.save(“C:/Users/lenovo/wanankuangda3.jpg“)程序运行结果如下:产生的图片由左边彩色的图变为右边灰度图。Eg36:fromPILimportImageim5=np.array(Image.open(“C:/Users/lenovo/wanankuangda.jpg”).conver#将一个彩色的图片变为一个灰度的图片im7=(100/255)*im5+150 #区间转换im8=Image.fromarray(im7.astype(‘uint8’)) #还原回图像的类型im8.save(“C:/Users/lenovo/wanankuangda4.jpg“)程序运行结果如下:Eg37:fromPILimportImageim5=np.array(Image.open("C:/Users/lenovo/wanankuangda.jpg").convert('L'))im9=255*(im5/255)**2 #像素平方im10=Image.fromarray(im9.astype('uint8'))程序运行结果如下:三、 归纳总结教师回顾本节课所讲的内容和知识点,包括数组概念、属性和创建、数组的基本操作(切片、索引、运算、矩阵的基本操作(创建、转换、Numpy四、布置作业务。教学方式课堂教学以教师PPT讲授、视频演示、流程图展示、代码编写操作演示等方式进行教学主要参考资料①《PythonPython《大数据分析技术》课程教案授课内容第三章Matplotlib与可视化计划课时4教学目的与要求使学生熟悉可视化元素的基本概念使学生掌握二维图绘制的基本做法和要求使学生掌握三维图绘制的基本做法和要求matplotlib重点难点matplotlib二维图和三维图绘制的要点和技巧教学进程安排授课内容:matplotlib库介绍matplotlibplotmatplotlib二维基础绘图函数讲解matplotlib库中的基础绘图函数,包括饼图、直方图、极坐标、散点图的绘制等。三维图可视化的应用练习三维图的绘制。一、 复习巩固和课程导入Numpy库中数组的创建、切片、matplotlib二、 新课讲解知识点1:matplotlib库简介和plot函数用法教师通过PPT和代码演示的方式讲解matplotlib库的相关概念和plot函数的使用。matplotlib库简介和安装MatplotlibPythonMatplotlib支持超过100种的可视化效果,功能十分强大。在命令行的方式下使用pipinstallmatplotlibplot函数的使用Matplotlibmatlab的启发。matplotlib.pyplotimportmatplotlib.pyplotasplt其中,plt为模块的别名。接下来通过一个小例子展示如何使用plot函数进行绘图。Eg1:importmatplotlib.pyplotaspltplt.plot([3,1,4,5,2])plt.ylabel(“Grade”)plt.show()程序运行结果如下:如果要将绘制出的图形保存下来,并且指定图片的质量,需要加下面一行代码:plt.savefig(‘test’,dpi=600)plt.savefig()PNGdpi修改输出质量。也可以通过plt.plot(x,y)绘制两个列表的图形,即当有两个以上参数时,按照X轴和Y轴顺序绘制数据点。Eg2:importmatplotlib.pyplotaspltplt.plot([0,2,4,6,8],[3,1,4,5,2])plt.ylabel(“Grade”)plt.axis([-1,10,0,6])plt.show()程序运行结果如下:其中,plt.axis()函数是设定横纵坐标尺度的函数,参数是具有四个变xy轴的起始坐标和终止坐标。plot()函数语法plt.plot(x,y,format_string,**kwargs)参数说明:x:X轴数据,列表或数组,可选y:Y轴数据,列表或数组。format_string:format_string颜色字符颜色字符 说明 颜色字符 说明‘b’ 蓝色 ‘m’ 洋红色‘g’ 绿色 ‘y’ 黄色‘r’ 红色 ‘k’ 黑色‘c’ 青绿色 ‘w’ 白色‘#008000’ RGB某颜色 ‘0.8’ 灰度值符串format_string风格字符风格字符说明‘-’实线‘--’破折线‘-.’点划线‘’虚线‘‘’无线条format-string标记字符标记 标记 标记字说明 说明 说明字符 字符 符‘.’ 点标记 ‘1’ 下花三标记 ‘h’ 竖六边标记像素标记‘’ ‘2’ 上花三标记 ‘’ 横六边标记(极小点)‘’ 实心圈记 ‘3’ 左花三标记 ‘+’ 十字标记‘v’ 倒三角记 ‘4’ 右花三标记 ‘x’ x标记‘^’ 上三角记 ‘s’ 实心方标记 ‘D’ 菱形标记‘>’ 右三角记 ‘p’ 实心五标记 ‘d’ 瘦菱形记‘<’ 左三角记 ‘*’ 星形标记 ‘l’ 垂直线记color:控制颜色,color=’green’linestyle:线条风格,linestyle=’dashed’marker:标记风格,marker=’o’markerfacecolor:标记颜色,markerfacecolor=’blue’markersize:标记尺度,markersize=20**kwgs:第二组或更多(x,,fomat_strinx不能省略。Eg3:importnumpyasnpimportmatplotlib.pyplotasplta=np.arange(10)plt.plot(a,a*1.5,a,a*2.5,a,a*3.5,a,a*4.5)plt.show()程序运行结果如下:Eg4:importmatplotlib.pyplotaspltimportnumpyasnpa=np.arange(10)plt.plot(a,a*1.5,’go-’,a,a*2.5,’rx’,a,a*3.5,’*’,a,a*4.5,’b-.’)plt.show()程序运行结果为:pyplot的中文显示方法一:pyplot并不默认支持中文显示,需要rcParams修改字体实现。rcParams的属性如下:reParams[‘font.family’]中文字体包括:‘SimHei’中文黑’Kaiti’’Lisu’’Fangsong’中属性属性说明‘font.family’用于显示字体的名字,例如’SimHei’是黑体‘font.style’字体风格,正常’normal’或斜体‘italic’‘font.size’字体大小,整数字号或者’large’、’x-small’文幼圆、’STSong’华文宋体。使用该方法将图中的中文、英文字体及字号都设置为一致的。Eg5:importnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlibmatplotlib.rcParams[‘font.family’]=’STSong’matplotlib.rcParams[‘font.size’]=20a=np.arange(0,5,0.02)plt.xlabel(‘横轴:时间’)plt.ylabel(‘纵轴:振幅’)plt.plot(a,np.cos(2*np.pi*a),’r--’)plt.show()程序运行结果为:方法二:在有中文输出的地方,增加一个属性:fontproperties,建议使用第二种方法。Eg6:importnumpyasnpimportmatplotlib.pyplotasplta=np.arange(0,5,0.02)plt.xlabel(‘横轴:时间’,fontproperties=’SimHei’,fontsize=20)plt.ylabel(‘纵轴:振幅’,fontproperties=’SimHei’,fontsize=20)plt.plot(a,np.cos(2*np.pi*a),’r--’)plt.show()程序运行结果如下:pyplot的文本显示函数pyplot的文本显示函数函数说明plt.xlabel()对x轴增加文本标签plt.ylabel()对y轴增加文本标签plt.title()对图形整体增加文本标签plt.text()对任意位置增加本文plt.annotate()在图形中增加带箭头的注解plt.annotate(s,xy=arrow_crd,xytext=text_crd,arrowprops=dict)参数说明:s:要注解的字符串xy:箭头所在的位置xytext:文本显示的位置arrowprops:字典类型。Eg7:importnumpyasnpimportmatplotlib.pyplotasplta=np.arange(0,5,0.02)plt.plot(a,np.cos(2*np.pi*a),’r--’)plt.xlabel(‘横轴:时间’,fontproperties=’SimHei’,fontsize=15,color=’green’)plt.ylabel(‘纵轴:时间’,fontproperties=’SimHei’,fontsize=15)plt.title(r’正弦波实例$y=cos(2\pi x)$’,fontproperties=’SimHei’,fontsize=25) #Latex格式plt.annotate(r’$\mu=100$’,xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor=’black’,shrink=0.1,width=2)) #shrink为箭头两侧为空白plt.axis([-1,6,-2,2])plt.grid(True) #加入网格曲线plt.show()程序运行结果为:plot绘图区域(在一个区域里绘制两个及两个以上的图形),使用plt.subplot()函数分割绘图区域,语法如下:plt.subplot(nrows,ncols,plot_number)plt.subplot()nrows作为横轴数量,ncolsplot_number是当前所处的区域。例如plt.subplot(3,2,4)(或者把逗号去掉,表示为plt.subplot(324))将绘制区域分割为3个横轴两个纵轴,共6块,如下图分布:ncols 在全局绘图区域中创建一个分区体系,并定位到一个子绘图区域。Eg8:importnumpyasnpimportmatplotlib.pyplotaspltdeff(t):子区域1子区域2子区域3当前绘图区域子区域1子区域2子区域3当前绘图区域子区域5子区域6returnnp.exp(-t)*np.cos(2*np.pi*t)a=np.arange(0,5,0.02)plt.subplot(211)plt.plot(a,f(a))plt.subplot(212)plt.plot(a,np.cos(2*np.pi*t2),’r--’)plt.show()如果是在复杂的多个区域内绘图,可以用plt.subplot2grid()函数,语法如下:plt.subplot2grid(GridSpec,CurSpec,colspan=1,rowspan=1)基本理念是:设定网格数量,选中网格,确定选中行列区域数量,编号从0开始。例如,plt.subplot2grid((3,3),(1,0),colspan=2),就是选中下图中黄色区域进行绘图。0 1 2012subplot2gridsubplotGridSpec实现相同的功能。这里也需要给定一段代码来指定复杂的区域:Eg9:importmatplotlib.gridspecasgridspecgs=gridspec.GridSpec(3,3)a1=plt.subplot(gs[0,:]) #0行的所有列a2=plt.subplot(gs[1,:-1])a3=plt.subplot(gs[1:,-1])a4=plt.subplot([2,0])a5=plt.subplot(gs[2,1])知识点2:pyplot二维基础图表函数PPTpyplot的基础图表函数,包括饼图、直方图、极坐标、散点图等(1)pyplot基础图表函数介绍pyplot的基础图表函数(2)饼图绘制饼图用于表示不同分类的占比情况,通过弧度大小来对比各种分类。一般是将一个圆饼按照分类的占比划分成多个区域,整个圆饼代表数据的总量,每个区块表示该分类占总体的比例大小。语法如下:plt.pie(x,explode,labels,colors,autopct,pctdistance,shadow,labeldistance,sold,data)参数说明:x:sum(x)>1sum(x)进行归一化。labels:每一块饼图外侧显示的说明文字。explode:每一块饼图离中心的距离。函数函数说明plt.plot(x,y,fmt,…)绘制一个坐标图plt.boxplot(data,notch,position)绘制一个箱型图plt.bar(left,height,width,bottom)绘制一个条形图plt.barh(width,bottom,left,height)绘制一个横向条形图plt.polar(theta,r)绘制极坐标图plt.pie(data,explode)绘制饼图plt.psd(x,NFFT=256,pad_to,Fs)绘制功率谱密度图plt.specgram(x,NFFT=256,pad_to,F)绘制谱图plt.cohere(x,y,NFFT=256,Fs)绘制X-Y的相关性函数plt.scatter(x,y)绘制散点图,其中x和y长度相同plt.step(x,y,where)绘制步阶图plt.hist(x,bins,normed)绘制直方图plt.contour(X,Y,Z,N)绘制等值图plt.vlines()绘制垂直图plt.stem(x,y,linefmt,markerfmt)绘制柴火图plt.plot_date()绘制数据日期startangle:起始绘制角度,默认是从x轴正方向逆时针画起,如设置值为90,则从y轴正方向画起。shadow:False,即不画阴影。labeldistance:标记的绘制位置,相对于半径的比例,默认值为1.1,如<1,则绘制在饼图内侧。autopct:format函数,如’%1.1f’保留小数点后一位。pctdistance:类似于labeldistance参数,指定百分比的位置刻度,默认值为0.6。radius:饼图半径,默认值为1。counterclock:True,表False,表示顺时针。wedgeprops:None。textprops:设置标签和比例文字的格式,字典类型,可选参数,默认None。center:浮点类型的列表,可选参数,默认值为(0,0),表示图表中心位置。me:Flse,不显示轴框架(网格;如果值为Truegrid函数配合使用。建议使用默认设置。rotatelabels:FalseTrue,则旋转每个标签到指定的角度。Eg10:importmatplotlib.pyplotaspltlabels=’Frogs’,‘Hogs’,‘Dogs’,‘Logs’sizes=[15,30,45,10]explode=(0,0.1,0,0)plt.pie(sizes,explode=explode,labels=labels,autopct=’%1.1f%%’,shadow=False,startangle=90)plt.show()程序运行结果为:(3)直方图的绘制直方图是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据的分布情况,一般用横轴表示数据类型,纵轴表示数据的分布情况。语法如下:plt.hist(x,bins=None,range=None,density=None,bottom=None,histtype=’bar’,align=’mid’,color=None,label=None,stacked=False,normed=None)参数说明:x:数据集,最终的直方图将对数据集进行统计。bins:统计数据的区间分布(表示直方图的个数。range:元组类型,显示的区间。densityNone。设置值为False不显示频率统计结果;设置值为True则显示频率统计结果。频率统计结果=区间数目/(总数*区间宽度)。histtype:可选参数,设置值为bar、barstacked、step或stepfilled,默认值为bar,推荐使用默认值,step使用的是梯状,stepfilled则对梯状内部进行填充,效果与bar参数类似。alignleft、midrightmid,控制柱状图的水平分布,leftright,会有部分空白区域,推荐使用默认值。log:布尔型,默认值为False,即y坐标轴是否选择指数刻度。stacked:布尔型,默认值为False,是否为堆积状图。10表示每个分组数据出现的个数。Eg11:importnumpyasnpimportmatplotlib.pyplotaspltnp.random.seed(0)mu,sigma=100,20a=np.random.normal(mu,sigma,size=100)plt.title(‘Histogram’) #添加标题plt.show()程序运行结果为:(4)极坐标图的绘制极坐标图是在平面内由极坐标系描述的曲线方程图,由极点、极轴、极径构成,用于对多维数组进行直接对比分析。Eg12:importnumpyasnpimportmatplotlib.pyplotaspltN=20theta=np.linspace(0,2*np.pi,N,endpoint=False)radii=10*np.random.rand(N)width=np.pi/4*np.random.rand(N)ax=plt.subplot(111,projection=’polar’)bars=ax.bar(theta,radii,width=width,bottom=0)forr,barinzip(radii,bars):bar.set_facecolor(plt.cm.viridis(r/10.))bar.set_alpha(0.5)plt.show()程序运行结果为:theta,radii,widthleft,height,widthleft为极坐标图中为绘图区域角度范围内辐射的面积。极坐标图是角度范围内展示数据的类型,但不太常用,学生了解即可。(5)散点图的绘制散点图在回归分析中使用比较多,将序列显示为一组点,查看数据点在坐标系平面上的分布情况,通常用于比较跨类别的聚合数据。与折线图相比,散点图不会将各个点之间按照前后关系用线条连接起来。语法如下:plt.scatter(x,y,s=None,c=None,marker=None,cmap=None,norm=None,vmin=None,vmax=None,alpha=None,linewidths=None,verts=None,edgecolors参数说明:x,y:数据。s:标记大小,用平方磅为单位的标记面积。c:标记颜色,可选参数,默认为蓝色。marker:标记样式,可选参数,默认为’。’.cmap:颜色地图,可选参数。norm:可选参数。vmin,vmax:标量,可选。alpha:表示透明度,可选参数,0~1之间的数。linewidths:线宽,标记边缘的宽度,可选参数。vrts(x,y)maker,这些顶点将用于构建标记,标记的中心位于在(0,0)为标准化单位,整体标记重新s完成。edgecolors:轮廓颜色,和参数c类似,可选参数,默认为None。data:关键字参数,如果给定一个数据参数,所有的位置和关键字参数将被替换。**kwargs:关键字参数,其他可选参数。Eg13:importnumpyasnpimportmatplotlib.pyplotaspltfig,ax=plt.subplots()ax.plot(10*np.random.randn(100),10*np.random.randn(100),’o’)ax.set_title(‘SimpleScatter’)plt.show()程序运行结果为:(6)箱形图的绘制plt.boxplot(x,notch=None,sym=None,vert=None,whis=None,position=None,widths=None,patch_artist=None,meanline=None,showmeans=None,showcaps=None,showbox=None,showfliers=None,boxprops=None,labels=None,flierprops=None,medianprops=None,meanprops=None,capprops=None,whiskerprops=None)参数说明:x:制定要绘制箱形图的数据。notch:是否以凹口的形式展现箱形图,默认非凹口。sym:指定异常点的形状,默认为(+)显示。vert:是否需要将箱形图垂直摆放,默认垂直摆放。whis1.5倍的四分位差。positions[0,1,2…]。widths:指定箱形图的宽度,默认为0.5。patch_artist:是否填充箱体的颜色。meanline:是否用线的形式表示均值,默认用点来表示。showmeans:是否显示均值,默认不显示。showcaps:是否显示箱形图顶端和末端的两条线,默认显示。showbox:是否显示箱形图的箱体,默认显示。showfliers:是否显示异常值,默认显示。boxprops:设置箱体的属性,如边框色、填充色等。labels:为箱形图添加标签,类似于图例的作用。fileprops:设置异常值的属性,如异常点的形状、大小、填充色等。medianprops:设置中位数的属性,如线的类型、粗细等。meanprops:设置均值的属性,如点的大小、颜色等。capprops:设置箱形图顶端和末端线条的属性,如颜色、粗细等。whiskerprops:设置必须的属性,如颜色、粗细、线的类型等。Eg14:importmatplotlib.pyplotaspltx1=[1,2,3,5,7,9]x2=[10,22,13,15,8,19]x3=[18,31,18,19,14,29]plt.boxplot([x1,x2,x3])plt.show()程序运行结果为:箱形图每部分的含义如下:上限上四分位数中位数下四分位数下限(7)面积图的绘制plt.stckplot(x,*args,data=None,**kwargs)参数说明:x:x轴数据。*args:当传入的参数个数未知时,使用*args。这里指y轴数据中可以传入多个y轴。data:data关键字参数。如果给定一个数据参数,所有位置和关键字参数都将被替换。**kwargs:关键字参数,其他可选参数,如color(颜色)、alpha(透明度)等。Eg15:importmatplotlib.pyplotaspltx=[1,2,3,4,5]y1=[6,9,5,8,4]y2=[3,2,5,4,3]y3=[8,7,8,4,3]y4=[7,4,6,7,12]plt.stackplot(x,y1,y2,y3,y4,colors=[‘g’,’c’,’r’,’b’])plt.show()程序运行结果为:(8)折线图的绘制知识点3:三维图可视化的应用教师通过PPT和代码演示的方式讲解三维图的绘制要求和应用。绘制3D图表需要安装mpl_toolkits工具包,安装命令如下:pipinstall–upgradematplotib。然后,使用下面的语句导入相应的对象:frommpl_toolkits.mplot3dimportAxes3D,axplot()方法绘制三维曲线、plot_surface()方法绘制三维曲面、scatter()方法绘制三维散点图或bar3d()方法绘制三维柱状图了。Eg16:importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3d.axes3dimportAxes3Dimportnumpyasnpfig=plt.figure()axes3d=Axes3D(fig)zs=[1,5,10,15,20]forzinzsx=np.arange(0,10)y=np.random.randint(0,30,size=10)axes3d.bar(x,y,zs=z,zdir=’x’,color=[‘r’,’green’,’yellow’,’c’])plt.show()Eg17: importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3d.axes3dimportAxes3Dimportnumpyasnpfig=plt.figure()axes3d=Axes3D(fig)x=np.arange(-4,4,0.125)y=np.arange(-3,3,0.125)x,y=np.meshgrid(x,y)z1=np.exp(-x**2-y**2)z2=np.exp(-(x-1)**2-(y-1)**2)z=(z1-z2)*2axes3d.plot_surface(x,y,z,cmap=plt.get_cmap(‘rainbow’))plt.show()Eg18:importnumpyasnpimportmatplotlib.pyplotaspltimportmpl_toolkits.mplot3dfig=plt.figure(figsize=(10,10))ax=fig.add_subplot(projection=’3d’)x=np.random.randint(0,40,20)y=np.random.randint(0,40,20)z=80*abs(np.sin(x+y))forxx,yy,zzinzip(x,y,z):color=np.random.random(3)ax.bar3d(xx,yy,0,dx=1,dy=1,dz=zz,color=color)ax.set_xlabel(‘X’)ax.set_ylabel(‘Y’)ax.set_zlabel(‘Z’)plt.show()程序运行结果为:Eg19:importma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经络疏通专项理疗规范
- 收银系统操作规范手册
- 老客户维系服务提升操作服务方案
- 火灾事故应急疏散演练实施方案
- 拖拉机农机具维护保养手册
- 艾灸疗程安全操作指引
- 植保无人机飞防作业规范
- 风电场谐波治理方案
- 高尿酸饮食干预手册
- 风电场测风塔布设方案
- 雨课堂学堂在线学堂云《运动与健康(山东)》单元测试考核答案
- 2026中国硅基负极材料产业化进程与锂电池性能提升评估
- 2026年高考作文备考之《给阿嬷的情书》素材
- 2026石家庄新天智慧能源有限公司招聘44人备考题库附答案详解(黄金题型)
- 统编版历史七年级下册第19课《清朝君主专制的强化》-教学课件
- 2026年南宁铁路局招聘80人(本科及以上学历)考试备考试题及答案解析
- 护理伦理学:患者权利与护士义务
- 博物馆展陈工程监理实施细则
- 2026年山东省科创集团有限公司权属企业招聘笔试历年难易错考点试卷带答案解析
- 2025年天津农商行招聘笔试真题及复习策略全面备考指南
- 免疫组化在妇科肿瘤诊断和鉴别诊断中的应用
评论
0/150
提交评论