Python数据分析与应用 课件 第8章 numpy_第1页
Python数据分析与应用 课件 第8章 numpy_第2页
Python数据分析与应用 课件 第8章 numpy_第3页
Python数据分析与应用 课件 第8章 numpy_第4页
Python数据分析与应用 课件 第8章 numpy_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章

Numpy《Python数据分析与应用》NumPy NumPy是Python的开源数字扩展,定义了数值数组和矩阵类型以及基本运算的语言扩展,用于矩阵数据、矢量处理等。 Numpy的官方网址/NumPyndarray属性名含义ndarray.ndim数组的轴(维度)的数量ndarray.shape数组的维度。为一个整数元组,表示每个维度上的大小。对于一个n行m列的矩阵来说,shape就是(n,m)。shape元组的长度就是秩(或者维度的数量)ndim。ndarray.size数组的元素的总个数。这等于shape元素的乘积。ndarray.dtype用来描述数组中元素类型的对象。ndarray.itermsize数组的每个元素的字节大小。例如,一个类型为float64的元素的数组itemsize为8。ndarray.data该缓冲区包含了数组的实际元素。python提供array模块,但是array不支持多维,也没有各种运算函数,不适合做数值运算。

而numpy提供的同质多维数组ndarray正好弥补以上不足。创建数组ArrayArangeLinspacelogspace1.array创建数组importnumpyasnp#引入numpy库a=np.array([[1,5],[4,5,7]])#创建数组,将元组或列表作为参数a5=np.array(([1,5,3,4,5],[6,7,8,9,5]))#创建二维的narray对象print(type(a))#a的类型是数组print(type(a5))print(a)print(a5)2.arange函数创建数组importnumpyasnpa=np.arange(15)#利用arange函数创建数组print(a)a5=np.arange(1,5,0.1)#arang函数和range函数print(a5)3.linspace用于创建指定数量等间隔的序列,实际生成一个等差数列importnumpyasnpa=np.linspace(0,1,15)#从0开始到1结束,共15个数的等差数列print(a)4.logspace用于生成等比数列importnumpyasnpa=np.logspace(0,5,5)#生成首位是10的0次方,末位是10的5次方,含5个数的等比数列print(a)查看数组importnumpyasnp#引入numpy库a=np.array([[1,5],[4,5,7],3])#创建数组,将元组或列表作为参数a5=np.array(([1,5,3,4,5],[6,7,8,9,5]))#创建二维的narray对象print(type(a))#a的类型是数组print(a)print(a5)print(a.dtype)#查看a数组中每个元素的类型print(a6.dtype)#查看a5数组中每个元素的类型查看数组importnumpyasnp#引入numpy库a=np.array([[1,5],[4,5,7],3])a5=np.array(([1,5,3,4,5],[6,7,8,9,5]))#创建二维narrayprint(a.shape)#查看数组的行列,3行print(a6.shape)#查看数组的行列,返回5行5列print(a.shape[0])#查看a的行数print(a6.shape[1])#查看a5的列数print(a.ndim)#获取数组的维数print(a6.ndim)print(a6.T)#简单转置矩阵ndarray索引和切片importnumpyasnpa=np.array([[1,5,3,4,5],[6,7,8,9,5]])print(a)print(a[:])#选取全部元素print(a[1])#选取行为1的全部元素print(a[0:1])#截取[0,1)的元素print(a[1,5:5])#截取第二行第[5,5)的元素[895]print(a[1,:])#截取第二行,返回[67895]print(a[1,5])#截取行号为一,列号为5的元素8print(a[1][5])线性代数

数z说明函

数说

明np.zeros生成零矩阵np.ones生成所有元素为1的矩阵np.eye生成单位矩阵np.transpose矩阵转置np.dot计算两个数组的点积np.inner计算两个数组的内积np.diag矩阵主对角线与一维数组间转换np.trace矩阵主对角线元素的和np.linalg.det计算矩阵行列式np.linalg.eig计算特征根与特征向量np.linalg.eigvals计算方阵特征根np.linalg.inv计算方阵的逆np.linalg.pinv计算方阵的Moore-Penrose伪逆np.linalg.solve计算Ax=b线性方程组解np.linalg.lstsq计算Ax=b的最小二乘解np.linalg.qr计算QR分解np.linalg.svd计算奇异值分解np.linalg.norm计算向量或矩阵的范数四则运算importnumpyasnpimportnumpy.linalgaslg#求矩阵的逆需要先导入numpy.linalga1=np.array([[1,2,3],[4,5,6],[5,4,5]])a5=np.array([[1,5,4],[3,4,7],[7,5,6]])print(a1+a5)#相加print(a1-a5)#相减print(a1/a5)#对应元素相除,如果都是整数则取商print(a1%a5)#对应元素相除后取余数print(a1**5)#矩阵每个元素都取n次方矩阵运算importnumpyasnpimportnumpy.linalgaslg#求矩阵的逆需要先导入numpy.linalga1=np.array([[1,2,3],[4,5,6],[5,4,5]])a5=np.array([[1,5,4],[3,4,7],[7,5,6]])print(a1.dot(a5))#点乘满足:第一个矩阵的列数等于第二个矩阵的行数print(a1.transpose())#转置等价于print(a1.T)print(lg.inv(a1))#用linalg的inv函数来求逆特征根和特征向量importnumpyasnparr=np.array([[1,2,5],[3,6,7],[4,2,9]])print('计算3×3方阵的特征根和特征向量:\n',arr)print('求解结果为:\n',np.linalg.eig(arr))多元一次方程组importnumpyasnp#多元线性方程组a=np.array([[1,3,5],[2,5,-1],[2,4,7]])b=np.array([10,6,4])x=np.linalg.solve(a,b)print(x)统计量

数说明函

数说

明min(arr,axis)最小值cumsum(arr,axis)轴方向计算累计和max(arr,axis)最大值cumprod(arr,axis)轴方向计算累计乘积mean(arr,axis)平均值argmin(arr,axis)轴方向最小值所在的位置median(arr,axis)中位数argmax(arr,axis)轴方向最大值所在的位置sum(arr,axis)和corrcoef(arr)计算皮尔逊相关系数std(arr,axis)标准差cov(arr)计算协方差矩阵var(arr,axis)方差

平均值importnumpyasnpX=np.array([160,165,157,122,159,126,160,162,121])#方法1:num=len(X)sum=sum(X)mean=sum/numprint(mean)#方法2:mean=np.mean(X)print(mean)最值importnumpyasnpX=np.array([160,165,157,122,159,126,160,162,121])MIN=np.min(X)MAX=np.max(X)print(MIN)print(MAX)中位数importnumpyasnpX=np.array([160,165,157,122,159,126,160,162,121])median=np.median(X)print(median)极差importnumpyasnpa=np.array([[3,2,5],[7,4,3],[2,4,9]])print('数组是:',a)print('调用ptp()函数:',np.ptp(a))print('沿轴1调用ptp()函数:',np.ptp(a,a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论