已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python中的Numpy入门教程这篇文章主要介绍了Python中的Numpy入门教程,着重讲解了矩阵中的数组操作,需要的朋友可以参考下1、Numpy是什么很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数。如果接触过matlab、scilab,那么numpy很好入手。 在以下的代码示例中,总是先导入了numpy:复制代码代码如下: import numpy as np print np.version.version1.6.22、多维数组多维数组的类型是:numpy.ndarray。使用numpy.array方法以list或tuple变量为参数产生一维数组:复制代码代码如下: print np.array(1,2,3,4)1 2 3 4 print np.array(1.2,2,3,4) 1.2 2. 3. 4. print type(np.array(1.2,2,3,4)以list或tuple变量为元素产生二维数组:复制代码代码如下: print np.array(1,2,3,4)1 23 4生成数组的时候,可以指定数据类型,例如32, 16, and numpy.float64等:复制代码代码如下: print np.array(1.2,2,3,4), dtype=32)1 2 3 4使用numpy.arange方法复制代码代码如下: print np.arange(15) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 print type(np.arange(15) print np.arange(15).reshape(3,5) 0 1 2 3 4 5 6 7 8 910 11 12 13 14 print type(np.arange(15).reshape(3,5)使用numpy.linspace方法例如,在从1到3中产生9个数:复制代码代码如下: print np.linspace(1,3,9) 1. 1.25 1.5 1.75 2. 2.25 2.5 2.75 3. 使用numpy.zeros,numpy.ones,numpy.eye等方法可以构造特定的矩阵例如:复制代码代码如下: print np.zeros(3,4) 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. print np.ones(3,4) 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. print np.eye(3) 1. 0. 0. 0. 1. 0. 0. 0. 1.创建一个三维数组:复制代码代码如下: print np.zeros(2,2,2) 0. 0. 0. 0. 0. 0. 0. 0.获取数组的属性:复制代码代码如下: a = np.zeros(2,2,2) print a.ndim #数组的维数3 print a.shape #数组每一维的大小(2, 2, 2) print a.size #数组的元素数8 print a.dtype #元素类型float64 print a.itemsize #每个元素所占的字节数8数组索引,切片,赋值示例:复制代码代码如下: a = np.array( 2,3,4,5,6,7 ) print a2 3 45 6 7 print a1,27 print a1,:5 6 7 print a1,1:26 a1,: = 8,9,10 print a 2 3 4 8 9 10使用for操作元素复制代码代码如下: for x in np.linspace(1,3,3):. print x.1.02.03.0基本的数组运算先构造数组a、b:复制代码代码如下: a = np.ones(2,2) b = np.eye(2) print a 1. 1. 1. 1. print b 1. 0. 0. 1.数组的加减乘除:复制代码代码如下: print a 2False FalseFalse False print a+b 2. 1. 1. 2. print a-b 0. 1. 1. 0. print b*2 2. 0. 0. 2. print (a*2)*(b*2) 4. 0. 0. 4. print b/(a*2) 0.5 0. 0. 0.5 print (a*2)*4 16. 16. 16. 16.使用数组对象自带的方法:复制代码代码如下: a.sum()4.0 a.sum(axis=0) #计算每一列(二维数组中类似于矩阵的列)的和array( 2., 2.) a.min()1.0 a.max()1.0使用numpy下的方法:复制代码代码如下: np.sin(a)array( 0.84147098, 0.84147098, 0.84147098, 0.84147098) np.max(a)1.0 np.floor(a)array( 1., 1., 1., 1.) np.exp(a)array( 2.71828183, 2.71828183, 2.71828183, 2.71828183) np.dot(a,a) #矩阵乘法array( 2., 2., 2., 2.)合并数组使用numpy下的vstack和hstack函数:复制代码代码如下: a = np.ones(2,2) b = np.eye(2) print np.vstack(a,b) 1. 1. 1. 1. 1. 0. 0. 1. print np.hstack(a,b) 1. 1. 1. 0. 1. 1. 0. 1.看一下这两个函数有没有涉及到浅拷贝这种问题:复制代码代码如下: c = np.hstack(a,b) print c 1. 1. 1. 0. 1. 1. 0. 1. a1,1 = 5 b1,1 = 5 print c 1. 1. 1. 0. 1. 1. 0. 1.可以看到,a、b中元素的改变并未影响c。深拷贝数组数组对象自带了浅拷贝和深拷贝的方法,但是一般用深拷贝多一些:复制代码代码如下: a = np.ones(2,2) b = a b is aTrue c = a.copy() #深拷贝 c is aFalse基本的矩阵运算转置:复制代码代码如下: a = np.array(1,0,2,3) print a1 02 3 print a.transpose()1 20 3迹:复制代码代码如下: print np.trace(a)4numpy.linalg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024顶焦度计量器具
- 2025-2026年食品卫生安全测试题库
- 2026年人教版高中化学必修第三册第12章专项训练题库
- 2026全国计算机二级C语言备考练习题
- 2025-2026年广东省人教版初中物理下册热学专项测试卷
- 2025-2026年地球物理现象测试卷
- 2025-2026年江苏省部编版小学英语下册第3单元课后练习题
- 2025-2026年重庆市苏教版高中地理一轮复习自然地理综合测试卷
- 全球供应链重组下袜针产能出海的地缘政治风险对冲
- 从墓葬出土位置看铜镜钉在汉代礼仪空间中的符号学意义
- 园林绿化工程计量与计价 第2版 课件 课程介绍
- 财政投资评审咨询服务预算和结算评审项目投标文件(技术方案)
- 七年级上册人教版历史知识点总结
- ASIC芯片设计生产流程课件
- 2025年山东省青岛市卫生健康委员会直属部分事业单位招聘26人历年管理单位笔试遴选500模拟题附带答案详解
- GB/T 37977.41-2024静电学第4-1部分:特定应用中的标准试验方法地板覆盖层和装配地板的电阻
- 《乳品加工工》技师培训课件-项目五 乳制品加工工艺及设备
- 高校防艾知识讲座
- 施工现场安全用电技术措施和电气防火措施
- 粉尘防爆安全管理台账-全套
- 应用海洋深层水
评论
0/150
提交评论