Python数据分析入门日记Day5:科学技术库Numpy:生成随机数

Python数据分析入门日记Day5

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

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

1、random.rand()

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

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

2、random.randn()

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

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

3、random.randint()

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

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

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

(1)二项分布

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

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

(2)超几何分布

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

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

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

(3)正态分布

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

Ovaltine

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190121G04S3400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券