numpy.random

作者: 肖月_1d28 | 来源:发表于2019-01-20 15:59 被阅读3次

    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

        本文链接:https://www.haomeiwen.com/subject/mkixjqtx.html