numpy中生成随机数的几种常用函数(小结)

1、使用numpy生成随机数的几种方式

1)生成指定形状的0-1之间的随机数:np.random.random()和np.random.rand()

array1 = np.random.random((3))
display(array1)
# -----------------------------------
array2 = np.random.random((3,4))
display(array2)
# -----------------------------------
array3 = np.random.rand(3)
display(array3)
# -----------------------------------
array4 = np.random.rand(2,3)
display(array4)

① 操作如下

② 区别如下

2)生成指定数值范围内的随机整数:np.random.randint()

① 操作如下

array9 = np.random.randint(low=1, high=10, size=6, dtype=np.int32)
display(array9)
# ---------------------------------------------------------
array10 = np.random.randint(low=1, high=10, size=(2,3), dtype=np.int64)
display(array10)
# ---------------------------------------------------------
array11 = np.random.randint(low=1, high=10, size=(2,3,4), dtype=np.int32)
display(array11)

② 结果如下

3)与正态分布有关的几个随机函数:np.random.randn()和np.random.normal()

  • np.random.randn 生成服从均值为0,标准差为1的标准正态分布随机数;
  • np.random.normal 生成指定均值和标准差的正态分布随机数;
array5 = np.random.randn(3)
display(array5)
# ---------------------------------------------
array6 = np.random.randn(2,3)
display(array6)
# ---------------------------------------------
array7 = np.random.normal(loc=2,scale=0.5,size=6)
display(array7)
# ---------------------------------------------
array8 = np.random.normal(loc=2,scale=0.5,size=6).reshape(2,3)
display(array8)

① 结果如下

② 区别如下

4)均匀分布随机函数:np.random.uniform()

用法:生成指定范围内的服从均匀分布的随机数;

array11 = np.random.uniform(1,10,5)
display(array11)
# ---------------------------------
array12 = np.random.uniform(1,10,(2,3))
display(array12)

① 结果如下

5)np.random.seed():按照种子来生成随机数,种子一样,则生成的随机数结果必一致

① 操作如下

np.random.seed(3)
a = np.random.rand(3)
display(a)
np.random.seed(3)
b = np.random.rand(3)
display(b)
# --------------------------
np.random.seed()
a = np.random.rand(3)
display(a)
np.random.seed()
b = np.random.rand(3)
display(b)

② 结果如下

6)np.random.shuffle():打乱数组元素顺序(原地操作数组)

c = np.arange(10)
display(c)
np.random.shuffle(c)
display(c)

① 结果如下

7)np.random.choice():按照指定概率从指定数组中,生成随机数;

① np.random.choice()函数的用法说明

d = np.random.choice([1,2,3,4], p=[0.1, 0.2, 0.3, 0.4])
display(d)

说明:上述函数第一个参数表示的是数组,第二个参数表示的是概率值。上述函数的含义是当进行n多次重复实验的时候,抽取1的概率为0.1,抽取2的概率为0.2,抽取3的概率为0.3,抽取4的概率为0.4。

② 结果如下

③ 随即进行10000次重复实验,检测每一个数,被抽取到的概率

list1 = [0,0,0,0]
for i in range(100000):
  f = np.random.choice([1,2,3,4], p=[0.1, 0.2, 0.3, 0.4])
  list1[f-1] = list1[f-1] + 1
display(list1)

result_list = [value/sum(list1) for value in list1]
display(result_list)

④ 结果如下

⑤ 模拟进行100000次掷硬币重复实验,检测每一面,被抽取到的概率

list1 = [0,0]
for i in range(100000):
  f = np.random.choice([0,1], p=[0.5,0.5])
  list1[f] = list1[f] + 1
display(list1)

result_list = [value/sum(list1) for value in list1]
display(result_list)

⑥ 结果如下

到此这篇关于numpy中生成随机数的几种常用函数(小结)的文章就介绍到这了,更多相关numpy 生成随机数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python numpy之np.random的随机数函数使用介绍

    np.random的随机数函数(1) 函数 说明 rand(d0,d1,..,dn) 根据d0‐dn创建随机数数组,浮点数, [0,1),均匀分布 randn(d0,d1,..,dn) 根据d0‐dn创建随机数数组,标准正态分布 randint(low[,high,shape]) 根据shape创建随机整数或整数数组,范围是[low, high) seed(s) 随机数种子, s是给定的种子值 np.random.rand import numpy as np a = np.random.ran

  • Python使用numpy产生正态分布随机数的向量或矩阵操作示例

    本文实例讲述了Python使用numpy产生正态分布随机数的向量或矩阵操作.分享给大家供大家参考,具体如下: 简单来说,正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学.物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力.一般的正态分布可以通过标准正态分布配合数学期望向量和协方差矩阵得到.如下代码,可以得到满足一维和二维正态分布的样本. 示例1(一维正态分布): # coding=utf-8 '''

  • python numpy 常用随机数的产生方法的实现

    numpy 中 的random模块有多个函数用于生成不同类型的随机数,常见的有 uniform.rand.random.randint.random_interges 下面介绍一下各自的用法 1.np.random.uniform的用法 np.random.uniform(low=0.0, high=1.0, size=None) 作用:可以生成[low,high)中的随机数,可以是单个值,也可以是一维数组,也可以是多维数组 参数介绍: low :float型,或者是数组类型的,默认为0 hig

  • numpy中生成随机数的几种常用函数(小结)

    1.使用numpy生成随机数的几种方式 1)生成指定形状的0-1之间的随机数:np.random.random()和np.random.rand() array1 = np.random.random((3)) display(array1) # ----------------------------------- array2 = np.random.random((3,4)) display(array2) # ----------------------------------- arr

  • Java中生成随机数的4种方式与区别详解

    目录 在 Java 中,生成随机数的场景有很多,所以本文我们就来盘点一下 4 种生成随机数的方式,以及它们之间的区别和每种生成方式所对应的场景. 1.Random Random 类诞生于 JDK 1.0,它产生的随机数是伪随机数,也就是有规则的随机数.Random 使用的随机算法为 linear congruential pseudorandom number generator (LGC) 线性同余法伪随机数.在随机数生成时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的

  • JavaScript生成随机数的4种自定义函数分享

    第一种方法 /* *@desc:生成随机字符串 *@remark:toString方法可以接收一个基数作为参数的原理,这个基数从2到36封顶.如果不指定,默认基数是10进制 */ function generateRandomAlphaNum(len) { var rdmString = ""; for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2)); return rdm

  • objective-c中生成随机数的方法

    本文简述objective-c中生成随机数的几种常见的方法,分享给大家,希望能给大家带来一点借鉴价值.具体如下: 1).arc4random()方法:比较精确不需要生成随即种子 使用方法如下 : 通过arc4random() 获取0到x-1之间的整数的代码如下: int value = arc4random() % x; 获取1到x之间的整数的代码如下: int value = (arc4random() % x) + 1; 2).CCRANDOM_0_1()方法:在cocos2d中使用 ,范围

  • Java中生成随机数的实现方法总结

    在实际开发工作中经常需要用到随机数.如有些系统中创建用户后会给用户一个随机的初始化密码.这个密码由于是随机的,为此往往只有用户自己知道.他们获取了这个随机密码之后,需要马上去系统中更改.这就是利用随机数的原理.总之随机数在日常开发工作中经常用到.而不同的开发语言产生随机数的方法以及技巧各不相同.笔者这里就以Java语言为例,谈谈随机数生成的方法以及一些技巧. 一.利用random方法来生成随机数. 在Java语言中生成随机数相对来说比较简单,因为有一个现成的方法可以使用.在Math类中,Java

  • 详解用python生成随机数的几种方法

    今天学习了用python生成仿真数据的一些基本方法和技巧,写成博客和大家分享一下. 本篇博客主要讲解如何从给定参数的的正态分布/均匀分布中生成随机数以及如何以给定概率从数字列表抽取某数字或从区间列表的某一区间内生成随机数,按照内容将博客分为3部分,并附上代码. 1 从给定参数的正态分布中生成随机数 当考虑从正态分布中生成随机数时,应当首先知道正态分布的均值和方差(标准差),有了这些,就可以调用python中现有的模块和函数来生成随机数了.这里调用了Numpy模块中的random.normal函数

  • Numpy中创建数组的9种方式小结

    目录 1.使用empty方法创建数组 2.使用array创建数组 3.使用zeros/ones创建数组 4.使用arange创建数组 5.使用linspace创建数组 6.使用numpy.random.rand创建数组 7.使用numpy.random.randn创建数组 8.使用numpy.random.randint创建数组 9.使用fromfunction创建数组 1.使用empty方法创建数组 该方式可以创建一个空数组,dtype可以指定随机数的类型,否则随机采用一种类型生成随机数. i

  • 如何在PHP中生成随机数

    第一种方法用mt_rand() function GetRandStr($length){ $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $len=strlen($str)-1; $randstr=''; for($i=0;$i<$length;$i++){ $num=mt_rand(0,$len); $randstr .= $str[$num]; } return $randstr; } $numb

  • nodejs密码加密中生成随机数的实例代码

    之前关于写了一个 nodejs密码加密中生成随机数,最近需要回顾,就顺便发到随笔上了 方法一: Math.random().toString(36).substr(2)运行后的结果就是11位数的随机数 方法二: 1.定义函数 function randomWord(randomFlag, min, max){ var str = "", range = min, arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a',

  • 关于laravel模板中生成URL的几种模式总结

    1.通过url辅助函数(路由)生成: location.href = "{{url('user/index2')}}"; 或者: location.href = "{{url::to('user/index2')}}"; 2.通过别名(路由)生成,前提是在注册路由的时候要指定别名, 例如: Route::get('user/index2',['as' => 'user/index2', 'uses' => 'UserController@index1']

随机推荐