• numpy.random.rand()
  • numpy.random.randn()
  • numpy.random.randint()

1、numpy.random.rand()

numpy.random.rand(d0,d1,…,dn)

  • rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1
  • dn表格每个维度
  • 返回值为指定维度的array
>>> np.random.rand(3,4)
array([[0.78902066, 0.78922515, 0.60998584, 0.34359511],
       [0.76828129, 0.55538696, 0.81266211, 0.26019504],
       [0.56740795, 0.80077307, 0.9135387 , 0.16368641]])

>>> np.random.rand(4,3,2)
array([[[0.6910304 , 0.71224994],
        [0.17158603, 0.23854328],
        [0.08903497, 0.42539163]],

       [[0.60188132, 0.80481601],
        [0.62352509, 0.65811654],
        [0.28226163, 0.18491861]],

       [[0.30113511, 0.15967149],
        [0.50198306, 0.16994748],
        [0.6239306 , 0.06208667]],

       [[0.31666301, 0.77284603],
        [0.3387221 , 0.49747552],
        [0.77858277, 0.98876661]]])
import matplotlib.pyplot as plt

plt.figure()
plt.hist(np.random.rand(30,40).reshape(-1),50,color='green',alpha=0.5)
plt.show()

2、numpy.random.randn()

numpy.random.randn(d0,d1,…,dn)

  • randn函数返回一个或一组样本,具有标准正态分布。 标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布。
  • dn表格每个维度
  • 返回值为指定维度的array
np.random.randn() #返回一个随机数

>>> np.random.randn(3,4)
array([[ 0.07457861,  0.1881388 , -0.36568485, -1.07490926],
       [ 1.96634512, -0.84974654,  1.29911574, -1.15193502],
       [-0.51807744,  0.26427197, -0.24878288,  0.8736011 ]])
import matplotlib.pyplot as plt

plt.figure()
plt.hist(np.random.randn(30,40).reshape(-1),50,color='green',alpha=0.5)
plt.show()

3、numpy.random.randint()

numpy.random.randint(low, high=None, size=None, dtype=’l’)

  • 返回随机整数,范围区间为[low,high)左闭右开
  • 参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
  • high没有填写时,默认生成随机数的范围是[0,low)
>>> np.random.randint(1,50,size=(4,3))
array([[23, 16, 47],
       [43,  4, 34],
       [ 6, 10, 18],
       [10,  6, 27]])

4、numpy.random.choice()

numpy.random.choice(a, size=None, replace=True, p=None)

  • 从给定的一维数组中生成随机数
  • 参数: a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率
  • a为整数时,对应的一维数组为np.arange(a)
>>> np.random.choice(10,10)
array([9, 6, 0, 5, 1, 5, 9, 7, 2, 9])

>>>np.random.choice(5, 3, replace=False)# no dup
array([1, 5, 4, 6, 9, 8, 2, 3, 0, 7])

>>>np.random.choice(list("ANXKDMMDJOSKK"), 20)
array(['A', 'K', 'N', 'D', 'D', 'X', 'S', 'K', 'N', 'J', 'K', 'K', 'D',
       'X', 'K', 'A', 'K', 'J', 'A', 'D'], dtype='<U1')
#还可以设置p值设置随机的概率np.random.choice(some_list,size=(3,3), p=[0.1,0.6,0.1,0.1,0.1])

Categories: numpyPython

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *