Python的numpy库中rand(),randn(),randint(),random。。。
在使⽤Python进⾏数据处理时,往往需要⽤到⼤量的随机数据,那如何构造这么多数据呢?Python的第三⽅库numpy库中提供了random 函数来实现这个功能。
本⽂将根据官⽅⽂档以及其他博友的博客⼀起来谈论常见的random函数以及使⽤
⾸先说下numpy.random.seed()与numpy.random.RandomState()这两个在数据处理中⽐较常⽤的函数,两者实现的作⽤是⼀样的,都是使每次随机⽣成数⼀样,具体可见下图
1.numpy.random.rand()
官⽅⽂档中给出的⽤法是:numpy.random.rand(d0,d1,…dn)
以给定的形状创建⼀个数组,并在数组中加⼊在[0,1]之间均匀分布的随机样本。
⽤法及实现:
2.numpy.random.randn()
官⽅⽂档中给出的⽤法是:numpy.random.rand(d0,d1,…dn)
以给定的形状创建⼀个数组,数组元素来符合标准正态分布N(0,1)
若要获得⼀般正态分布则可⽤sigma * np.random.randn(…) + mu进⾏表⽰
⽤法及实现:
3.numpy.random.randint()
官⽅⽂档中给出的⽤法是:numpy.random.randint(low,high=None,size=None,dtype)
⽣成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low) ⽤法及实现
high=None的情形
high≠None
random在python中的意思4.numpy.random.random_integers()
官⽅⽂档中给出的⽤法是:
numpy.random.random_integers(low,high=None,size=None)
⽣成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low] ⽤法及实现
high=None的情形
high≠None的情形
此外,若要将【a,b】区间分成N等分,也可以⽤此函数实现
a+(b-a)*(numpy.random.random_integers(N)-1)/(N-1)
5.numpy.random_sanmple()
官⽅⽂档中给出的⽤法是:
numpy.random.random_sample(size=None)
以给定形状返回[0,1)之间的随机浮点数
⽤法及实现
其他函数,numpy.random.random() ;numpy.random.ranf()
numpy.random.sample()⽤法及实现都与它相同
6.numpy.random.choice()
官⽅⽂档中给出的⽤法:
numpy.random.choice(a,size=None,replace=True,p=None)
若a为数组,则从a中选取元素;若a为单个int类型数,则选取range(a)中的数 replace是bool类型,为True,则选取的元素会出现重复;反之不会出现重复 p为数组,⾥⾯存放选到每个数的可能性,即概率
⽤法及实现
以上就是关于random函数的⼏种⽤法,欢迎⼤家⼀起交流
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论