版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
numpy(numericalPython的简称)是高性能科学计算和数据分析的基础包,其中包含了大量工具,如数组对象(用来表示向量、矩阵、图像等)及线性代数函数等。numpy中的数组对象可以实现数组中重要的操作,如矩阵乘积及转置、解方程系统、向量乘积和归一化,为图像变形、图像分类、图像聚类等提供了基础。科学计算与图表制作13.1用于科学计算的numpy库34521ndarray是一个具有矢量算术运算和复杂广播能力的多维数组。具有对数组数据进行快速运算的标准数学函数。具有读/写外存数据的工具以及用于操作内存映射文件的工具。具有线性代数、随机数生成以及傅里叶变换功能。具有用于集成由C、C++等语言编写的代码工具。1.numpy数组的概念numpy库中处理的基础的数据类型是同种元素构成的数组。numpy数组是一个多维数组对象,称为ndarray。numpy数组的维数称为秩,一维数组秩为1,二维数组秩为2。numpy中,每一个线性数组是一个轴,秩是描述轴的数量。numpy数组的下标从0开始。同一个numpy数组中元素的类型相同。numpy数组的创建13.1.1科学计算与图表制作13.1用于科学计算的numpy库2.创建numpy数组(1)用array()函数将Python中的列表和元组创建成数组。(2)zeros()、ones()函数。(3)arange()、linspace()函数(4)numpy库的基本函数。3.numpy中的数据类型(1)整型、浮点型、复数类型(2)bool、inti、int8、int32、int64、float16、float32、float64等。例13-1~13-3科学计算与图表制作13.1用于科学计算的numpy库numpy数组中的元素是通过下标来访问的,可以通过方括号括起一个下标来访问数组中的单一元素,也可以用切片的形式访问数组中的多个元素。访问numpy数组的元素13.1.2切片方法功能描述x[i]数组第i个元素x[-i]从后向前索引第i个元素x[n:m]切片,默认步长为1,从前向后索引,不包含mx[-m:-n]切片,默认步长为1,从后往前索引,不包含-nx[n:m:i]切片,指定步长为i的由n到m的索引例13-4~13-5numpy数组的算术运算包括:(1)numpy数组的四则运算。(2)numpy数组的矩阵乘法。(3)numpy数组中+=、*=的应用。(4numpy数组中元素的运算。(5)指定axis参数计算numpy数组。numpy的ufunc函数和算术运算13.1.3科学计算与图表制作13.1用于科学计算的numpy库ufunc函数也称为通用函数,是一种对数组的每个元素进行运算的函数。ufunc函数对数组进行操作,以数组作为输出。ufunc函数实现的运算是针对的是数组中的每个元素,与使用循环相比,在运算速度上更快、效率更高。常用的ufunc函数包括add()、subtract()、multiply()、divide()等。例13-6~13-11科学计算与图表制作13.1用于科学计算的numpy库数组的形状(shape)取决于其每个轴上的元素个数,可以使用reval()、reshape()、transpose()等函数修改数组的形状。reval():降低数组的维度。reshape():改变数组维度。transpose():转置数组。(1)numpy数组的形状操作reshape()。(2)使用resize()函数改变数组形状。numpy数组的形状操作13.1.4>>>importnumpyasnp>>>nums0=64(50*np.random.rand(3,4))>>>print(nums0)>>>nums1=nums0.ravel()>>>print(nums1)>>>nums0.shape=(6,2)>>>print(nums0)>>>nums2=nums0.transpose()>>>print(nums2)>>>nums2.transpose()>>>id(nums2)#转置数组,id值不发生改变例13-12~13-13科学计算与图表制作13.1用于科学计算的numpy库1.genfromtxt()函数genfromtxt()函数可以从文本文件中加载数据并将其转换为numpy数组,通过不同的参数来处理不同格式的文本文件,包括分隔符、缺失值、数据类型等,语法格式如下。numpy.genfromtxt(fname,dtype=float,comments='#',delimiter=None,skip_header=0,skip_footer=0,skip_rows=0,usecols=None,encoding=None,filling_values=None,…)numpy库的文件操作13.1.5fname是文件名字符串;dtype是生成数组的数据类型,默认值为float;comments用作注释的字符或字符序列;delimiter是字段分隔符,默认用空格、制表符等做为分隔符,也可以用单个字符或字符序列做为分隔符。skip_header是要跳过的文件开头的行数;skip_footer是要跳过的文件末尾的行数;skip_rows是要跳过的行数(从文件开头)例13-14科学计算与图表制作13.1用于科学计算的numpy库2.loadtxt()函数和savetxt()函数numpy的loadtxt()函数的也用于读取文件中的数据。loadtxt()函数的目标是快速读取简单、格式化的文件,要求目标文件每一行具有相同数量的数据。numpy.loadtxt(fname,dtype=float,delimiter=None,comments='#',skip_rows=0,usecols=None,encoding=None,…)numpy库的文件操作13.1.5numpy库的savetxt()函数用于保存数组到文件。numpy.savetxt(fname,X,fmt='%.18e',delimiter='',newline='\n',header='',footer='',comments='#',encoding=None))matplotlib是Python的2D绘图库,是一套面向对象的绘图库,使用它绘制的图表中的每个绘图元素都有一个对象与之对应。matplotlib通过pyplot模块提供了一套API,将众多绘图对象所构成的复杂结构隐藏在这套API内部。用户只需要调用pyplot模块所提供的函数就可以实现快速绘图,并设置图表的各个细节。安装matplotlib之前先要安装numpy。matplotlib简介13.2.1科学计算与图表制作13.2用于绘制图表的matplotlib库通常使用importmatplotlib.pyplotasplt语句导入库,使用plt作为matplotlib.pyplot模块的别名。matplotlib.pyplot模块中的函数13.2.2科学计算与图表制作13.2用于绘制图表的matplotlib库1.绘制过程和主要函数(1)创建绘图对象
figure(figsize=(width,height),dpi=n)(2)使用plot()函数绘图
plot(x,y,c="r",ls="-.",linewidth=2.0)(3)设置绘图对象的各个属性xlabel/ylabel:设置x,y轴标题文字。
title:设置图的标题。
xlim/ylim:设置x,y轴显示范围。
legend():显示图例。(4)图形的保存和输出
savefig(“文件名”,dpi=n)
show()13.2.2科学计算与图表制作13.2用于绘制图表的matplotlib库颜色参数和线形参数颜色参数(color,简写为c)线形参数(linestyles,简写为ls)蓝色:’b’(bulue)实线:’-’绿色:’g’(green)虚线:’--’红色:’r’(red)虚点线:’-.’黄色:’y’(yellow)点:’.’黑色:’k’(black)白色:’w’(white)读取
和显示函数函数功能Plt.legend()在绘图区域中放置图例Plt.show()显示创建的绘图对象Plt.matshow()在窗口中显示数组矩阵Plt.imshow()在axes上显示图像Plt.imsave()保存数组为图像文件Plt.imread()从图像文件中读取数组matplotlib.pyplot模块中的函数13.2.2科学计算与图表制作13.2用于绘制图表的matplotlib库2.在绘图对象中绘制多个子图可以使用subplot()函数快速绘制包含多个子图的图表:
subplot(numrows,numcols,plotNum)subplot()将整个绘图区域等分为numrows行与numcols列个子区域,再按照从左到右,从上到下的顺序对每个子区域进行编号,左上角的子区域的编号为1。plotNum指定使用第几个子区域。matplotlib.pyplot模块中的函数13.2.2科学计算与图表制作13.2用于绘制图表的matplotlib库3.绘制多副图表4.在图表中显示中文matplotlib的默认配置文件中,使用的字体无法在图表中正确显示中文。#指定默认字体plt.rcParams['font.family']='SimHei’plt.rcParams['font.sans-serif']='SimHei‘#用来正常显示负值plt.rcParams['axes.unicode_minus']=Falsematplotlib.pyplot模块中的函数例13-16绘制直方图、条形图、饼图13.2.3科学计算与图表制作13.2用于绘制图表的matplotlib库1.直方图直方图(histogram)是统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布情况。一般用横轴表示数据类型,纵轴表示分布情况。直方图的绘制通过pyplot.hist()函数实现:plt.hist(x,bins=30,color='green',density=True)x:指定每个bin(箱子)分布在x轴的位置。bins:指定bin个数,即条状图个数。density:值为True时,本区间点在所有点中占的概率。color:指定颜色。例13-17绘制直方图、条形图、饼图13.2.3科学计算与图表制作13.2用于绘制图表的matplotlib库2.条形图条形图(bar)是用一个单位长度表示一定的数量,根据数量的多少绘制长短不同的线条,然后把这些线条按一定的顺序排列起来。pyplot.bar()函数绘制竖直方向的条形图。pyplot.barh()函数绘制水平方向的条形图。例13-18~13-19绘制直方图、条形图、饼图13.2.3科学计算与图表制作13.2用于绘制图表的matplotlib库3.饼状
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五金建材市场准入合同
- 2026年儿科人群临床试验中安慰剂使用的伦理与法规
- 广告投放项目合作协议范本
- 2026年数据安全能力成熟度模型应用
- 医疗AI算法合作合同协议2026
- 美甲美睫店员工薪酬福利合同
- 家电清洗服务合同范本协议范本
- 2026年展览馆特装展位结构安全与稳定性验算
- 肺癌中医护理的食疗方剂
- 2026年手术分级管理与授权程序
- 建筑工程预算评审方案(3篇)
- 十年(2016-2025)高考生物真题分类汇编(全国通.用)专题07 有丝分裂和减数分裂(解析版)
- 知识产权基础知识考试题库及答案
- tpm提案管理办法
- 国道公路防汛演练方案(3篇)
- 民法典与企业合同管理
- 乡土地理案例在高中地理教学中的深度融合与实践创新
- 2025届北京市海淀区清华大附中八下英语期末达标检测试题含答案
- DB32/T 1087-2022高速公路沥青路面施工技术规范
- 2025年中国敞篷车市场调查研究报告
- 《云端渲染技术分享》课件
评论
0/150
提交评论