Python中的Numpy入门教程.docx
文本预览下载声明
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)))type numpy.ndarray以list或tuple变量为元素产生二维数组:复制代码代码如下: print np.array([[1,2],[3,4]])[[1 2]?[3 4]]生成数组的时候,可以指定数据类型,例如numpy.int32, numpy.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))type numpy.ndarray print np.arange(15).reshape(3,5)[[ 0? 1? 2? 3? 4]?[ 5? 6? 7? 8? 9]?[10 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等方法可以构造特定的矩阵例如:复制代码代码如下: 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 a[[2 3 4]?[5 6 7]] print a[1,2]7 print a[1,:][5 6 7] print a[1,1:2][6] a[1,:] = [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.?
显示全部