numpy.random

numpy中利用random类获取随机数.

1、numpy.random.random()  生成一个随机的浮点数

     默认为生成一个随机的浮点数,范围是在0.0~1.0之间,也可以通过参数size设置返回数据的size;

  1)生成一个随机的浮点数:

      n = numpy.random.random()

      print(n)  

      输出:0.429489486421

  2)设置参数size:

      n = numpy.random.random(size=(3, 2))

      print (n)     

      输出:  [[ 0.32018625  0.22410508]

                    [ 0.57830333  0.74477335]

                    [ 0.08333105  0.48533304]]

2、numpy.random.randint() 生成一个随机整数

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

    print(np.random.randint(8))                        输出4

    print (np.random.randint(5, size=3))          输出[1 1 3]

    print (np.random.randint(6, size=(3,2)))    输出[[2 4]

                                                                                  [5 4]

                                                                                  [3 0]]

    print (np.random.randint(low=5, high=10, size=3))  输出[7 5 5]

3、numpy.random.normal()  生成高斯分布随机数

    normal(loc=0.0, scale=1.0, size=None)

    loc:均值,scale:标准差,size:抽取样本的size

    n = numpy.random.normal(loc=0.0, scale=1, size=(2, 3))

    print(n)

    [[-0.15040995 -0.43780718 -0.22292445]

      [-0.89388124 -0.39465164  0.24113838]]

4、numpy.random.randn() 生成标准正态分布随机数

    numpy.random.randn(d0, d1, …, dn)函数:

    从标准正态分布中返回一个(d0*d1* …* dn)维样本值

    import numpy as np

    print(np.random.randn(4, 2))

    [[-1.88753851 -2.54412195]

    [ 0.51856343 -1.07733711]

    [ 1.05820592 -0.23889217]

    [ 0.73309062  0.42152066]]

    例2:

    import numpy as np

    print(np.random.randn(4, 2, 3))

    输出:

    [[[-1.00477835  1.16919912 -1.28299362]

      [ 0.0645336  0.19143397 -0.16957401]]

      [[-1.45250491 -0.51844037 -0.01241654]

      [ 0.41427599  0.19469926 -0.92450654]]

      [[-1.90133606  1.23554382 -1.37775698]

      [-0.98110245  0.3562373  -0.27816068]]

      [[ 1.0380202  0.24293181  0.5341542 ]

      [-0.62945999  1.62233629 -0.07299065]]]

5、numpy.random.rand() 生成[0, 1)间随机数

    numpy.random.rand(d0, d1, …, dn)函数:

    生成一个(d0*d1* …* dn)维位于[0, 1)中随机样本

    例:

    import numpy as np

    print np.random.rand(2,3)

    输出:

    [[ 0.06112299  0.02476706  0.04235452]

      [ 0.47891264  0.68831817  0.31309659]]

6、numpy.random.shuffle() 随机打乱序列

    numpy.random.shuffle() 将序列的所有元素随机排序

    传入参数可以是一个序列或者元组

    import numpy as np

    x = range(0, 8, 1)

    print(x)    [0, 1, 2, 3, 4, 5, 6, 7]

    np.random.shuffle(x) 

    print (x)    [2, 3, 5, 4, 1, 7, 0, 6]

7、numpy.random.choice() 随机选取序列的一个元素

    numpy.random.choice()可以从序列(字符串、列表、元组等)中随机选取,返回一个列表,元组或字符串的随机项。

    import numpy as np

    print(np.random.choice(['a','b','c','d','e']))  c

    print np.random.choice(5, 6)

    输出(6个小于5的元素):[2 3 3 3 1 2]

p:每个条目出现的概率。如果没有,假设样本在A中的所有条目都具有均匀分布。

import numpy as np

print np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])

(p=[0.1, 0, 0.3, 0.6, 0]即出现0 1 2 3 4的概率分别是[0.1, 0, 0.3, 0.6, 0])

输出:

[0 3 2]

import numpy as np

ss = ['pooh', 'rabbit', 'piglet', 'Christopher']

print np.random.choice(ss, 5, p=[0.5, 0.1, 0.1, 0.3])

输出:

['Christopher' 'piglet' 'pooh' 'piglet' 'Christopher']

你可能感兴趣的:(numpy.random)