python数据分析-numpy 矩阵操作
numpy 中的包含一个矩阵库:numpy.matlib
矩阵生成:
import numpy as np
x=np.matrix([[1,2,3],[4,5,6]])
y=np.matrix([1,3,4,5,6,6,4,6,5])
print(np.matlib.empty((2,2)))#填充为随机数据
print(np.matlib.zeros((2,2)))#生成o矩阵
print(np.matlib.ones((2,2)))#生成1矩阵
print(np.matlib.eyes((2,2)))#返回一个对角线元素为1,其余元素为0的矩阵
print(np.matlib.identity(4)#返回一个方阵,且是单位矩阵
print(np.matlib.rand(4,4))#创建一个给定大小的矩阵,数据随机填充
矩阵常用操作:
a=np.matrix('1,2;21,2')
print(a)
j=np.asarray(a)#矩阵转换成数组
k=np.asmatrix(j)#数组装换成矩阵
print(k.T)#矩阵的转置操作
#矩阵乘法
print(a*k)
#矩阵运算
a=np.matrix('1,2;21,2')
b=np.matrix('1,5;1,6')
numpy.dot(a,b,out=None)#out 保存运算的结果,矩阵乘法
numpy.vdot(a,b)#返回两个矩阵运算的点积。及对应位置的乘积求和
numpy.linalg.inv(a)#求a的逆矩阵
numpy.linalg.solve(a,b)#求矩阵形式的线性方程的解
注:还有一些矩阵运算的函数如:
eig:计算方阵的特征值和特征向量
svd:奇异值分解
lstsq:计算Ax=b的最小二乘解
det:计算矩阵行列式
trance:计算矩阵的迹