矩阵和随机数
矩阵
创建矩阵
-
#创建矩阵
-
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)
转载:https://blog.csdn.net/qq_39397927/article/details/116068290
查看评论