numpy模块
import numpy as np #矩阵计算包
In [2]:
#1创建数组 np.array([1,3,5])
Out[2]:
In [5]:
np.array([[1,3,5],[2,7,9]])
Out[5]:
In [6]:
a=np.array([[1,3,5],[2,7,9]])
type(a)
Out[6]:
In [7]:
a.shape#显示有多少行多少列
Out[7]:
In [8]:
#自动填充 np.arange(1,10,2)#开始 结束 步长
Out[8]:
In [37]:
np.linspace(0,10,100)#开始 结束 生成多少个
Out[37]:
In [13]:
a=np.linspace(0,10,100) a.reshape((20,5))#变形 20行 5 列
Out[13]:
In [16]:
a.resize((20,5))#改变了值本身形态 -
a
Out[16]:
In [18]:
a.flatten()#对数组降维,数组本身不变
Out[18]:
In [20]:
a.ravel()#对数组降维并改变了数组
Out[20]:
In [23]:
##创建多维数组并自动填充 np.ones((2,5))#2行5列 用1填充
Out[23]:
In [24]:
np.zeros((2,5))#用0填充
Out[24]:
In [29]:
np.empty((2,5))#随机数填充
Out[29]:
In [33]:
np.eye(3)#3*3矩阵
Out[33]:
In [35]:
a=np.eye(3) np.diag(a,1)#对角线矩阵
Out[35]:
In [36]:
np.full((3,3),8)#全部为8的三乘以3矩阵
Out[36]:
In [38]:
np.random.rand(2,5)#o-1 之间均匀分布
Out[38]:
In [39]:
np.random.randn(2,5)#标准正太分布
Out[39]:
In [41]:
np.random.seed(0)#随机数种子 np.random.rand(2,5)
Out[41]:
In [65]:
a=np.arange(10).reshape(5,2)
In [66]:
np.random.shuffle(a)#对一个序列进行随机排序
Out[66]:
In [67]:
##切割与组合 a=[1,2,3] b=[4,5,6] np.hstack((a,b))#横向组合
Out[67]:
In [68]:
np.vstack((a,b))#纵向组合
Out[68]:
In [71]:
import numpy.linalg as nl#矩阵计算包
In [72]:
a=np.full((3,3),8)
a
Out[72]:
In [73]:
nl.det(a)#计算行列式
Out[73]:
In [74]:
nl.eig(a)#计算特征值与特征向量
Out[74]:
In [76]:
nl.qr(a)#计算qr分解
Out[76]:
In [77]:
nl.svd(a)#计算奇异值分解
Out[77]: