Python中的Numpy入门教程

上传人:平*** 文档编号:12790804 上传时间:2017-10-21 格式:DOCX 页数:8 大小:19.67KB
返回 下载 相关 举报
Python中的Numpy入门教程_第1页
第1页 / 共8页
Python中的Numpy入门教程_第2页
第2页 / 共8页
Python中的Numpy入门教程_第3页
第3页 / 共8页
Python中的Numpy入门教程_第4页
第4页 / 共8页
Python中的Numpy入门教程_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《Python中的Numpy入门教程》由会员分享,可在线阅读,更多相关《Python中的Numpy入门教程(8页珍藏版)》请在金锄头文库上搜索。

1、Python 中的 Numpy 入门教程这篇文章主要介绍了 Python 中的 Numpy 入门教程,着重讲解了矩阵中的数组操作,需要的朋友可以参考下1、Numpy 是什么很简单,Numpy 是 Python 的一个科学计算的库,提供了矩阵运算的功能,其一般与 Scipy、matplotlib 一起使用。其实,list 已经提供了类似于矩阵的表示形式,不过 numpy 为我们提供了更多的函数。如果接触过 matlab、scilab,那么 numpy 很好入手。 在以下的代码示例中,总是先导入了 numpy:复制代码代码如下: import numpy as np print np.versio

2、n.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生成数组的时候,可以指定数据类型,例如 numpy.int32, nump

3、y.int16, and numpy.float64 等:复制代码代码如下: print np.array(1.2,2,3,4), dtype=np.int32)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)

4、使用 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)

5、 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,

6、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 2Fa

7、lse 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 下的方法:复制代码代码如

8、下: 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 n

9、p.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

10、= 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)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号