python numpy--矩阵的创建

11 篇文章 3 订阅

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两个矩阵
  • 30
    点赞
  • 209
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值