c语言随机生成整数存放一维数组_「Python」numpy之random库简单的随机数据实例

0|引言

在python数据分析的学习和应用过程中,经常需要用到numpy的随机函数,由于随机函数random的功能比较多,经常会混淆或记不住,下面进行汇总并一一实例学习。

本篇主要总结简单的随机数据库的生产,主要常用的函数有np.random.rand()、.randint()、.randn()、.random()等.

1.np.random.rand(d0, d1, …, dn)

  • 根据给定维度生成[0,1)之间的数据,包含0,不包含1
  • dn表格每个维度
  • 返回值为指定维度的array

生成3行2列的随机数组

#生成3行2列的随机数组import numpy.random as rndrnd.rand(3,2) #生成3行2列的随机数组
e0bc5c4821004de8a8d3a694acf031b3.png

图1

生成3维的随机数组

#生成3维的随机数组import numpy.random as rndrnd.rand(3,2,2)
ccd0af9f942d3729595759863a4494a5.png

图2

2.randn(d0, d1, …, dn)返回一个样本,具有标准正态分布

  • randn函数返回一个或一组样本,具有标准正态分布。
  • dn表格每个维度
  • 返回值为指定维度的array
import numpy.random as rndrnd.randn(3,2)
b95b42267bcad80659919e7bb1057ddd.png

图3

import numpy.random as rndrnd.randn(3,2,2)
b18edddbe1357baa63f95b1a0b659a93.png

图4

注:标准正态分布介绍:标准正态分布—-standard normal distribution;标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1)。

3、randint(low[, high, size])

  • 返回随机整数,范围区间为[low,high),包含low,不包含high
  • 参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
  • high没有填写时,默认生成随机数的范围是[0,low)
import numpy.random as rnd#high没有填写时,默认生产随机数的范围为[0,low)rnd.randint(3)
8147c1afa220c917ca2f66117a5c3f11.png

图5

#low为1,high为5,区间为[1,5)rnd.randint(1,5)
efce6d82b6cc26441e70d48b93b13291.png

图6

#high没有填写时,默认生产随机数的范围为[0,3)rnd.randint(3,size =10)
7fc96a0a57115d9c7e2ba6c9abb8373d.png

图7

rnd.randint(3,size =[2,2])
c465d3a9e8816022a47ade6ceef19ddf.png

图8

4.np.random.random([size])生成[0,1)之间的浮点数,与np.random.rand()功能类似

import numpy.random as rnda = rnd.random(size=[2,2])print(a.dtype)print(a)print('---分界线---')b = rnd.rand(2,2)print(b)print(b.dtype)
e83c7d9e3569a87064a7f985d17eac8a.png

图9

  • numpy.random.random_sample(size=None)
  • numpy.random.ranf(size=None)
  • numpy.random.sample(size=None)

上述三个函数同样具有类似的功能:

print('-----random_sample-----')print(rnd.random_sample(size=(2,2)))print('-----random-----')print(rnd.random(size=(2,2)))print('-----ranf----')print(rnd.ranf(size=(2,2)))print('------sample-----')print(rnd.sample(size=(2,2)))
89fd8f077623d3e035234167bc57aede.png

图10

5、numpy.random.choice(a[, size, replace, p])生成一个随机样本,从一个给定的一维数组

  • 从给定的一维数组中生成随机数;
  • 参数: a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率;
  • a为整数时,对应的一维数组为np.arange(a);
#a为整数时,对应的一维数组是np.arange(a)#第一个参数值5对应的a,即传入的数据组#第二个参数3就是数组的size,传入单值时,数据维度是一维的#此处将生成一个一维数据包含3个小于5的整数的数组rnd.choice(5,3)
7cbcaaf82f3e275f751461a30293f1cf.png

图11

4d2d10a3fd0c9741d3455eb0ea96327e.png

图12

6、numpy.random.seed()生成随机数的种子,使得每次生成随机数相同

  • np.random.seed()的作用:使得随机数据可预测。
  • 当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数
088e8e4c27cfd952078b491ce59d7df8.png

图13

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值