python3 random和numpy.random区别

133 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Trick:纯demo,心在哪里,结果就在那里(ipython notebook代码演示)

 

 2
import random
for i in range(5):
    #生成0-1的随机浮点数
    #random.random()
    print(i,random.random())
 
 
0 0.772776376196428
1 0.6258100198861752
2 0.36015258471911005
3 0.09175725539333501
4 0.11489461483723162
 4
import random
for i in range(5):
    #生成指定范围的随机浮点数,a<=n<=b
    print(i,random.uniform())
    
"""
random.uniform(a,b)
必须要有两个参数否则报错
TypeError: uniform() missing 2 required positional arguments: 'a' and 'b'
"""
---------------------------------------------------------------------------
 
TypeError                                 Traceback (most recent call last)
 
<ipython-input-4-9a2f5817563e> in <module>
      1 import random
      2 for i in range(5):
----> 3     print(i,random.uniform())
 
TypeError: uniform() missing 2 required positional arguments: 'a' and 'b'
 
 7
import random
for i in range(5):
    # 生成指定范围的随机整数,a<=n<=b
    print(i,random.randint(3,8))
"""
random.randint(a,b)
必须要有两个参数否则报错
TypeError: uniform() missing 2 required positional arguments: 'a' and 'b'
"""
 
0 8
1 4
2 8
3 4
4 4
 8
import random
for i in range(5):
    print(i,random.randrange(0,10,3))
    """
    random.randrange(start,stop,step)
    指定范围内,按step递增的集合中的随机数,start<=n<stop    
    """
---------------------------------------------------------------------------
 
TypeError                                 Traceback (most recent call last)
 
<ipython-input-8-3a69614229f0> in <module>
      1 import random
      2 for i in range(5):
----> 3     print(i,random.randrange())
 
TypeError: randrange() missing 1 required positional argument: 'start'
 
"""
random.choice()
给定的集合中选择一个字符
random.sample()
给定的集合中采样多个字符
random.shuffle()
对给定集合重排列(洗牌)
"""
No output
11
#numpy.random
import numpy as np
np.random.rand(2,3)
"""
np.random.rand(d0,d1,...,dn)
返回n维的随机数矩阵。randn为正态分布
在这里需要注意。只会执行最后一个代码
"""
np.random.rand()
11
0.8227630408345724
12
import numpy as np
 
np.random.randint(1,5,[4,3])
"""
np.random.randint(low[,high,size,dtype])
返回low<=n<high范围的整数,random_integers为dtype=np.int类型
"""
12
array([[1, 1, 1],
       [2, 4, 1],
       [2, 4, 3],
       [3, 4, 2]])
13
import numpy as np 
np.random.random(size = [3,3])
"""
np.random.random(size)
返回指定size的[0,1)随机数矩阵,random_sample、ranf、sample和它一样
np.random.choice(a[,size,replace,p])
含义类似于random.choice
""""
13
array([[0.4403994 , 0.687003  , 0.25333792],
       [0.89981862, 0.4991398 , 0.34219562],
       [0.79770316, 0.05762094, 0.92834715]])