python numpy--矩阵的创建

1.手动创建

语法:np.mat(‘str’)
函数创建矩阵,其中字符串的表示中,矩阵的行与行之间用分号隔开,行内的元素之间用空格隔开。

a=np.mat('1 2 3;4 5 6;7 8 9') # 中间打逗号也可以 b=np.mat('1,2,3;4,5,6;7,8,9')

2.使用NumPy数组进行创建

(1)利用mat(ndArray)函数创建矩阵(利用reshape函数)

c=np.mat(np.arange(9)) #一维的矩阵
c=np.mat(np.arange(9).reshape(3,3))

(2)利用mat(ndArray)函数创建矩阵,矩阵中存放随机数。
利用numpy.random 模块中的函数生成
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

以下抽取常用的函数来演示:

  • 1)np.random.rand()均匀分布随机数
    给几个数就是几维的。
#创建一个两行3列的随机小数的矩阵
d = np.mat(np.random.rand(2,3))
  • 2)标准正态分布随机数 np.random.randn()
    给几个数字就是几维的
e = np.mat(np.random.randn(3,2))
  • 3)随机整数 np.random.randint(min,max,munber)
f = np.mat(np.random.randint(1,10,8)) #法一,在1到10之间取8个整数
np.random.randint(1,100,25).reshape((5,5))  #法二,在1到100之间取25个整数,形状是5*5的矩阵,维度只能在reshape中体现了

取1-100内 5*5的随机整数

np.random.randint(1,100,[5,5])
  • 4)np.random.random(shape)0-1的随机数
    shape=[2,3] 表示2行3列
g = np.mat(np.random.random([2,3]))
  • 5)np.random.choice(a,size=None,replace=True,p=None) 从a中取size个数据

a:如果a是单个变量 则采用np.arange(a)的形式
size:int 或者 (int1,int2,…intn).是一个可选参数 决定了输出的shape,如果给定(m,n,k),那mnk就是shape
replace:bool参数,可选择参数。决定采样的数据中是否有重复值
replace = True 有重复值;replace = False 没有重复值
p:一维数据参数,可选参数。作用是对应的a中每个采样点的概率分布,如果没有表述就是标准/均匀分布

h1=np.random.choice(5,3)# a 是单个变量
# h1 = np.random.choice(np.arange(5),3)
# 取无重复
h2 = np.random.choice(a=list('abcde'),size =(2,2),replace=False)      # True是默认的,有重复
# 参数p,p是概率,下面代码表示1出现的概率是0.4,2出现的概率是0.3,以此类推,加起来总的概率是1
h3 = np.random.choice([1,2,3,4],20,p=[0.4,0.3,0.2,0.1])

3.从已有矩阵创建新的矩阵

语法:np.bmat()
步骤:创建两个小矩阵–用函数bmat复合

A = np.eye(2) #创建一个2*2的对角矩阵
B = 2*A #对角矩阵中的值×2
C = np.bmat('A B;A B;B A')#复合AB两个矩阵

猜你喜欢

转载自blog.csdn.net/qq_43287650/article/details/82860938