矩阵和随机数
矩阵
创建矩阵
#创建矩阵
astring = np.mat("1 2 3; 4 5 6")
alist = [[1,2,3],[4,5,6]]
anplist = np.array(alist)
print(np.matrix(astring))#字符串、列表、元组、数组
print(np.mat(astring))#字符串、列表、元组、数组
print(np.mat(alist))
print(np.mat(anplist))
矩阵对象的属性
jz=np.mat('1 2 3 ; 4 5 6')
#矩阵的维数
print(np.ndim(jz))
print(jz.ndim)
#矩阵的形状
print(np.shape(jz))
print(jz.shape)
#矩阵的元素个数
print(np.size(jz))
print(jz.size)
#元素的数据类型
print(jz.dtype)
#矩阵的转置
print(jz.T)
#矩阵的求逆
print(jz.I)
矩阵运算
alist1 = [[0,1],[2,3]]
alist2 = [[1,1],[2,0]]
a1=np.mat(alist1)
a2=np.mat(alist2)
print(a1*a2)
随机数模块
#随机数模块
print(np.random.rand(2,3))#创建2*3的随机数组,取值是在[0,1)之间均匀分布的浮点数
print(np.random.rand())#参数为空返回一个数
print(np.random.uniform(1,5,(3,2)))#创建3*2的随机数组,取值是在1到5之间均匀分布的浮点数
print(np.random.randint(1,5,(3,2)))#创建3*2的随机数组,取值是在1到5之间均匀分布的整数
print(np.random.randn(2,3))#创建2*3的随机数组,符合标准正太分布
print(np.random.normal(0,1,(3,2)))#创建3*2的随机数组,符合正太分布,均值为0,方差为1
因为是随机数,使用同样的语句,所得到的结果也是不同的
print(np.random.rand(2,3))
print(np.random.rand(2,3))
伪随机数:
由随机种子,根据一定的算法生成的。
随机种子:
指定随机数生成时所用算法开始的整数值。
如果使用相同的seed( )值,则每次生成的随即数都相同。
如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生 成的随机数因时间差异而不同。
设置的seed()值仅一次有效。
随机数产生的算法,和系统有关
设置随机种子
np.random.seed(999)
print(np.random.rand(2,3))
np.random.seed(999)
print(np.random.rand(2,3))
print(np.random.rand(2,3))
打乱顺序函数
arr = np.arange(10)
print(arr)
np.random.shuffle(arr)
print(arr)