Python 数据分析与科学计算 第7章 Numpy数值计算.ppt
*******************************************7.6线性代数运算
4.逆矩阵importnumpyasnp?A=np.array([[1,2,3],[1,0,-1],[0,1,1]])print(A矩阵:\n,A)B=np.linalg.inv(A)print(A矩阵的逆矩阵:\n,B)print(A、B矩阵相乘结果为:\n,np.dot(A,B))inv()函数【例7.48】求矩阵的逆矩阵程序运行结果:A矩阵:[[123][10-1][011]]A矩阵的逆矩阵:[[0.50.5-1.][-0.50.52.][0.5-0.5-1.]]A、B矩阵相乘结果为:[[1.0.0.][0.1.0.][0.0.1.]]7.6线性代数运算
5.特征值和特征向量importnumpyasnp?A=np.array([[-1,1,0],[-4,3,0],[1,0,2]])print(A矩阵:\n,A)e=np.linalg.eigvals(A)print(A矩阵特征值:\n,e)e,x=np.linalg.eig(A)print(A矩阵特征向量:\n,x)eigval()函数【例7.49】计算特征值和特征向量程序运行结果:A矩阵:[[-110][-430][102]]A矩阵特征值:[2.1.1.]A矩阵特征向量:[[0.00[0.00[1.-0-0]7.7Numpy数据文件的读写
importnumpyasnp?a_arr=np.arange(9).reshape(3,3)#将a_arr数组写入file1.npy文件,系统自动为文件file1添加扩展名.npynp.save(e:/file1,a_arr)b_arr=np.load(e:/file1.npy)print(从文件中读出的数组为:\n,b_arr)save()函数numpy.save(file,arr)【例7.50】二进制文件的读写程序运行结果:从文件中读出的数组为:[[012][345][678]]load()函数numpy.load(file)1.二进制文件的读写7.7Numpy数据文件的读写
2.文本文件的读写importnumpyasnp?a_arr=np.arange(9).reshape(3,3)np.savetxt(e:/file2.txt,a_arr,delimiter=,)b_arr=np.loadtxt(e:/file2.txt,dtype=f,delimiter=,)print(从文件中读出的数组为:\n,b_arr)savetxt()函数numpy.savetxt(filename,arr,fmt=%.18e,delimiter=,newline=\n)【例7.51】文本文件的读写程序运行结果:从文件中读出的数组为:[[0.1.2.][3.4.5.][6.7.8.]]loadtxt()函数numpy.savetxt(filename,dtype=classfloat,delimiter=None,converters=None)7.8Numpy数据数据分析案例
【例7.52】文件名为“学生成绩.csv”的文件中,存储了Python语言、数据结构、操作系统、软件工程四门课程的成绩,使用Numpy函数编程计算四门课程的最高分、最低分、平均分和标准差7.8Numpy数据数据分析案例
importnumpyasnp?a_arr=np.loadtxt(open(e:/学生成绩.csv,encoding=utf-8),dtype=,delimiter=,,usecols=(2,3,4,5),unpack=True,skiprows=1)print(从文件中读出的四门课成绩:\n,a_arr)print(Python语言数据结构操作系统软件工程)py_max,ds_max,os_max,se_max=np.max(a_arr,a