1)生成指定形状的0-1之间的随机数:np.random.random()和np.random.rand()
1
2
3
4
5
6
7
8
9
10
11
|
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()
① 操作如下
1
2
3
4
5
6
7
8
|
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 生成指定均值和标准差的正态分布随机数;
1
2
3
4
5
6
7
8
9
10
11
|
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()
用法:生成指定范围内的服从均匀分布的随机数;
1
2
3
4
5
|
array11 = np.random.uniform( 1 , 10 , 5 )
display(array11)
# ---------------------------------
array12 = np.random.uniform( 1 , 10 ,( 2 , 3 ))
display(array12)
|
① 结果如下
5)np.random.seed():按照种子来生成随机数,种子一样,则生成的随机数结果必一致
① 操作如下
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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():打乱数组元素顺序(原地操作数组)
1
2
3
4
|
c = np.arange( 10 )
display(c)
np.random.shuffle(c)
display(c)
|
① 结果如下
7)np.random.choice():按照指定概率从指定数组中,生成随机数;
① np.random.choice()函数的用法说明
1
2
|
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次重复实验,检测每一个数,被抽取到的概率
1
2
3
4
5
6
7
8
|
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次掷硬币重复实验,检测每一面,被抽取到的概率
1
2
3
4
5
6
7
8
|
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 生成随机数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_41261833/article/details/103745009