python 生成均匀分布的随机数_Python数据分析入门日记Day5 :科学技术库Numpy:生成随机数...

Python数据分析入门日记Day5

——科学技术库Numpy:生成随机数

今天学习了在Numpy中生成随机数,主要运用到random模块,这是关于学习Python科学数据库Numpy的最后一天啦,内容很轻松。

1、random.rand()

利用random.rand()函数,可以生成在0~1范围内满足均匀分布的随机数。在“()”中输入数字4,将生成4个数字,满足均匀分布。

6f4de1473f98428fbbd6b210688e9d82.png

若要生成满足均匀分布的二维数组,如:在“()”中输入5,4,则会生成一个五行四列的、元素满足在0~1之间均匀分布的数组,也就说每一个元素被抽中的概率都是相等的。

23127384be4fdba2f8ae75a0c99d1790.png

2、random.randn()

random.randn()函数生成的是以零为中心的标准正态分布。比如,用这个函数生成7个随机数,结果如下:

fa9cd1d2cd6c9f79ea7fdd91a302cd80.png

生成的这7个数字,绘制成的图像,应该满足标准正态分布。若要生成满足该分布的二维数组,则在“()”中输入4,5,会生成一个四行五列的、满足以零为中心标准正态分布的矩阵。

3、random.randint()

看到random.randint()函数末尾的int,就可以知道,该函数是为了生成一些整数型随机数的,在利用时应注意其参数值的意义:

6e1a295e896f774420fef6deacf82476.png

根据输出结果,可以得出结论:第一个和第二个参数规定了所生成随机数的范围,第三个参数规定了生成随机数的个数。特别注意的是:在生成的随机数中,可以包含最小值,但不能生成最大值,比如,在例子中,生成的随机数可能出现5,但不可能生成20,另外,第三个参数表示生成随机数的长度,缺省时默认为长度为1,即只生成一个随机数。

4、 高级随机生成数组的函数

(1)二项分布

random.binomial(n,p,size=N)随机生成一组服从二项分布的随机数,其中,三个参数分别表示:n表示试验次数,p代表概率,N代表随机生成的轮数。具体使用如下:

8576e71abbfd5ccaa8295fa0de9296bd.png

对上述代码可以解释为:假如一次抛掷9枚硬币,每枚硬币出现正面或反面的概率都是0.5,共重复10次这样的试验。

(2)超几何分布

该函数用来生成服从超几何分布的随机数。

random.hypergeometric(n1,n2,n,size=N)函数:

ba7b6901704761e15c3a6cdbf9eac6ee.png

对上述代码可以解释为:共50个产品,正品有47个,次品有3个,每次从这些产品中取3个出来,共重复这样的试验50次。假设返回的是每一次所抽取的三个产品中的正品数,共50个值。

(3)正态分布

np.random.normal(loc,scale,size=N)函数用来生成服从正态分布的随机数,其中的三个参数意义分别是:loc表示均值,scale表示标准差,N代表所重复试验次数。当第一个和第二个参数缺省时,默认生成服从均值为0,标准差为1的标准正态分布。若想要生成100个服从标准正态分布的随机数,具体操作如下:

f0a23ca7581e79ac1b5203a9adccc822.png

关于在Numpy中生成随机数的学习就到这里,至此有关Python科学技术库Numpy的学习就告一段落了,Numpy的功能远远超过我们学习的这些,我也只是学习了一些基础的函数和计算,希望通过这5天的记录和分享,不仅可以起到对之前掌握的知识加深记忆的作用,也可以和大家共同交流讨论。如果对日记内容有何指点,欢迎留言讨论!

Ovaltine

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值