




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Python 中的 Numpy 入门教程1、 Numpy 是什么很简单, Numpy 是 Python 的一个科学计算的库,提供了矩阵运算的功能, 其一般与 Scipy 、matplotlib 一起使用。其实, list 已经提供了类似于矩阵的表示形式,不过 numpy 为我们提供了更多的函数。 如果接触过matlab 、scilab ,那么 numpy很好入手。在以下的代码示例中,总是先导入了numpy :复制代码代码如下 :>>> import numpy as np>>> print np.version.version1.6.22 、多维数组多维数组
2、的类型是:numpy.ndarray。使用 numpy.array方法以 list 或 tuple 变量为参数产生一维数组:复制代码代码如下 :>>> print np.array(1,2,3,4)1234>>> print np.array(1.2,2,3,4).>>> print type(np.array(1.2,2,3,4)<type numpy.ndarray>以 list 或 tuple 变量为元素产生二维数组:复制代码 代码如下 :>>> print np.array(1,2,3,
3、4)1 23 4生成数组的时候,可以指定数据类型,例如32,16, and numpy.float64等:复制代码代码如下 :>>> print np.array(1.2,2,3,4), dtype=32)1234使用 numpy.arange方法复制代码代码如下 :>>> print np.arange(15)01234567891011121314>>> print type(np.arange(15)<type numpy.ndarray>>>> print
4、 np.arange(15).reshape(3,5) 01234 5678910 11 12 13 14>>> print type(np.arange(15).reshape(3,5)<type numpy.ndarray>使用 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 等方法可以构造特
5、定的矩阵例如:复制代码代码如下 :>>> print np.zeros(3,4) . . .>>> print np.ones(3,4) . . .>>> 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(
6、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>>>
7、 print a1,27>>> print a1,:567>>> print a1,1:26>>> a1,: = 8,9,10>>> print a 23 4 89 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)>>> pri
8、nt 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.50. 0.0.5>>> pr
9、int (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
10、>>> 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,
11、b) 1.1. 1.1. 1.0. 0.1.>>> print np.hstack(a,b) . .看一下这两个函数有没有涉及到浅拷贝这种问题:复制代码代码如下 :>>> c = np.hstack(a,b)>>> print c . .>>> a1,1 = 5>>> b1,1 = 5>>> print c . .可以看到, a、 b 中元素的改变并未影响 c。深拷贝数组数组对象自带了浅拷贝和深拷贝的方法
12、,但是一般用深拷贝多一些:复制代码代码如下 :>>> 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模块中有很多关于矩阵运算的方法:复制代码代码如下 :>>> import numpy.linalg as nplg特征值、特征向量:复制代码代码如下 :>>> print nplg.eig(a)(array( 3.,1.), array( 0.,0.70710678, 1., -0.70710678)3、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CN120198440A 基于机器视觉的注塑件缺陷检测方法及系统
- 2025年智能匹配无中介费二手商铺买卖合同示范文本
- 2025版国际货物买卖合同规范文本
- 2025版国防科技产业投资咨询顾问合同范本
- 2025版权授权协议书范本:原创游戏角色版权许可
- 2025年度企事业单位食堂膳食供应服务采购合同
- 2025版实习期间实习生社会保险缴纳劳动合同范本
- 2025年度智慧城市基础设施建设租赁推广合同
- 2025版汽车贷款贷款合同补充条款及附件
- 2025年度企业员工职业素养提升合同
- 2025-2030中国电力工程总承包行业市场发展分析及发展趋势与投资研究报告
- 白内障光明扶贫工程实施方案
- 方案评审表-技术方案评估
- APP融资方案模板
- 初中自我介绍课件
- 劳动教育读本中职版专题一崇尚劳动学习资料
- 《员工行为准则培训》课件
- 仓管员晋升组长述职报告
- 《付出总有收获》课件
- 方剂学知到智慧树章节测试课后答案2024年秋安徽中医药大学
- 《慢性乙型肝炎防治指南(2022年版)-》解读
评论
0/150
提交评论