您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 6.3-Phython-科学计算
Phython科学计算Python程序设计基础6.3Phython科学计算12Phython与科学计算NumPy处理数据34matplotlib绘制图表SciPy数值计算库Python程序设计基础1、Python与科学计算Python语言广泛应用于科学计算,下面介绍几个常用的Python科学计算工具包:①NumPy是一个定义了数值数组和矩阵类型和它们的基本运算的语言扩展。②Matplotlib是一个绘制科学图表的语言扩展。③SciPy是另一种使用NumPy来做高等数学、信号处理、优化、统计和许多其它科学任务的语言扩展。Python程序设计基础NumPy是高性能科学计算和数据分析的基础包。具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。用于对整组数据进行快速运算的标准数学函数(无需编写循环)。具有用于读写磁盘数据的工具以及用于操作内存映射文件的工具。具有线性代数、随机数生成以及傅里叶变换功能。①安装Numpy的方法②导入Numpy的方法③NumPy处理数据实例2、NumPy处理数据Python程序设计基础利用NumPy包可以扩充Python的数据处理能力,安装Numpy的方法可以采用如下命令:(1)NumPy数据导入Pipinstallnumpy利用NumPy包进行科学运算之前,采用如下命令导入numpy,其中,as保留字与import一起使用能够改变后续代码中库的命名空间,有助于提高代码可读性。简单说,在程序的后续部分中,np代替numpy:importnumpyasnpPython程序设计基础一维数组importnumpyasnpnList=np.array([1.0,2.0,3.0,4.0])print(nList)[1.2.3.4.]print(type(nList))class'numpy.ndarray'数组的类型是numpy.ndarray。使用numpy.array方法以list或tuple变量为参数产生一维数组。为命令行中输入的语句,其它的行是控制台显示的内容。(2)NumPy处理数据实例:Python程序设计基础二维数组importnumpyasnpnList=np.array([[1.0,2.0],[3.0,4.0]])print(nList)[[1.2.][3.4.]]以list或tuple变量为元素产生二维数组:生成数组的时候,可以指定数据类型,例如numpy.int32,numpy.int16,andnumpy.float64等:print(np.array([1.2,2,3,4],dtype=np.int32))[1234]Python程序设计基础序列数组importnumpyasnpnList1=np.arange(15)print(nList1)[012...,121314]nList2=np.arange(15).reshape(3,5)print(nList2)[[01234][56789][1011121314]]print(type(nList1),type(nList2))class'numpy.ndarray'class'numpy.ndarray'使用numpy.arange方法可以产生一个序列,对于一个生成的numpy.ndarray变量,还可以使用它自身的reshare方法变成多维数组:Python程序设计基础等差序列数组importnumpyasnpprint(np.linspace(1,3,9))[1.1.251.51.752.2.252.52.753.]使用numpy.linspace方法可以产生具有一定间隔的数列。例如,在从1到3中产生9个数:Python程序设计基础特定的矩阵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.]]printnp(eye(3))[[1.0.0.][0.1.0.][0.0.1.]]使用numpy.zeros,numpy.ones,numpy.eye等方法可以构造特定的矩阵。zeros产生零矩阵,ones产生全为1的矩阵,eye产生单位阵。Python程序设计基础获取数组的属性importnumpyasnpa=np.zeros((2,2,2))print(a.ndim)#数组的维数3print(a.shape)#数组每一维的大小(2,2,2)print(a.size)#数组的元素数8print(a.dtype)#元素类型float64print(a.itemsize)#每个元素所占的字节数8Python程序设计基础数组索引,切片和替换元素importnumpyasnpa=np.array([[2,3,4],[5,6,7]])print(a)[[234][567]]print(a[1,2])#访问第2行第3列的元素7print(a[1,:])#访问第2行的所有元素[567]printa[1,1:3]#访问第2行[1,3)列的元素,即1,2列[67]a[1,:]=[8,9,10]#替换第2行的所有元素printa[[234][8910]]Python程序设计基础importnumpyasnpa=np.ones((2,2))b=np.eye(2)print(a)[[1.1.][1.1.]]print(b)[[1.0.][0.1.]]基本的数组运算先构造数组a、b,a是2*2的全1数组,b是单位阵:演示对数组的加减乘除运算:print(a2)[[FalseFalse][FalseFalse]]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]]print((a*2)**4)[[16.16.][16.16.]]print(a.sum())4.0print(b.min())0.0print(b.max())1.0Python程序设计基础print(np.dot(a,b))[[1.1.][1.1.]]基本的矩阵运算矩阵的点乘:矩阵的转置运算:a=np.array([[1,0],[2,3]])print(a)[[10][23]]print(a.transpose())[[12][03]]矩阵的叉乘:print(np.cross(a,b))[-1.1.]计算矩阵的迹:print(np.cross(a,b))[-1.1.]Python程序设计基础importnumpyasnpimportnumpy.linalgasnplga=np.array([[1,0],[2,3]])print(a)[[10][23]]print(nplg.eig(a))(array([3.,1.]),array([[0.,0.70710678],[1.,-0.70710678]]))计算矩阵的特征值和特征向量。numpy.linalg模块中有很多关于矩阵运算的方法,比如特征值和特征向量就是使用numpy.linalg.eig方法:基本的矩阵运算Python程序设计基础适合交互式地进行制图。而且也可以将它作为绘图控件,嵌入GUI应用程序中利用。①安装matplotlib的方法②导入matplotlib的方法③matplotlib常用的函数④matplotlib绘制图表例子3、matplotlib绘制图表Python程序设计基础适合交互式地进行制图。而且也可以将它作为绘图控件,嵌入GUI应用程序中利用。安装matplotlib的方法可以采用如下命令:matplotlib绘制图表Pipinstallmatplotlib利用matplotlib包进行科学运算之前,采用如下命令导入matplotlib,其中,as保留字与import一起使用能够改变后续代码中库的命名空间,有助于提高代码可读性。简单说,在程序的后续部分中,plt代替matplotlib.pyplot::importmatplotlib.pyplotaspltPython程序设计基础matplotlib常用的函数(1)figure(plt.figure(figsize=(width,height)):作用新建绘画窗口,独立显示绘画的图表。调用figure创建一个绘图对象,并且使它成为当前的绘图对象。figsize参数:指定绘图对象的宽度和高度,单位为英寸;dpi参数指定绘图对象的分辨率,缺省值为80。因此本例中所创建的图表窗口的宽度为8*80=640像素。plt.figure(figsize=(8,4))Python程序设计基础matplotlib常用的函数(2)plot(x,,y,format_string,**kwargs):用于在Figure中显示图形,参数的x为横轴数据,可为列表或数组。y是纵轴数据,也是列表或者数组。format_string为控制曲线的格式字符串,是可选项。**kwargs为第二组数据或更多的(x,y,format_string)。format_string:控制曲线的格式,是由颜色字符、风格字符和标记字符组成。plt.plot([1,2,3,4],[1,4,9,16],'ro')Python程序设计基础matplotlib常用的函数(2)plot(x,,y,format_string,**kwargs)中formatstring为控制曲线的格式,格式包括颜色、线条类型等。①颜色字符②风格字符③标记字符Python程序设计基础matplotlib常用的函数plot的格式控制字符——颜色字符颜色字符说明颜色字符说明'b'蓝色'm'洋红色magenta'g'绿色'y'黄色'r'红色'k'黑色'c'青绿色'w'白色'#008000'RGB某颜色'0.8'灰度值字符串Python程序设计基础matplotlib常用的函数plot的格式控制字符——风格字符风格字符说明'‐'实线'‐‐'破折线'‐.'点划线':'虚线''''无线条Python程序设计基础matplotlib常用的函数plot的格式控制字符——标记字符标记字符说明标记字符说明标记字符说明'.'点标记'1'下花三角标记'h'竖六边形标记','像素标记(极小点)'2'上花三角标记'H'横六边形标记'o'实心圈标记'3'左花三角标记'+'十字标记'v'倒三角标记'4'右花三角标记'x'x标记'^'上三角标记's'实心方形标记'D'菱形标记''右三角标记'p'实心五角标记'd'瘦菱形标记''左三角标记'*'星形标记'|'垂直线标记Python程序设计基础matplotlib常用的函数(3)subplot(numRows,numCols,plotNum):一个Figure对象可以包含多个子图,可以使用subplot()快速绘制,主要作用是将多个图表绘在同一个窗口中。图表的整个绘图区域被分成numRows行和numCols列。然后按照从左到右,从上到下的顺序对每个子区域进行编号,左上的子区域的编号为1。plotNum参数指定创建的图对象所在的区域。plt.subplot(2,3,2)(4)show():这个函数是显示绘画的图表。plt.show()Python程序设计基础importnumpyasnpa=np.ones((2,2))b=np.eye(2)print(a)i
本文标题:6.3-Phython-科学计算
链接地址:https://www.777doc.com/doc-4680966 .html