• [Tips] 随机数 随机序列 随机排列生成


    正态分布

    import random as np
    
    np.random.normal(均值, 标准差, 产生随机数数目)
    

    柯西分布

    标准柯西分布如下生成
    numpy.random.standard_cauchy(size)
    

      

    随机排列

    t = [1,2,3]
    random.shuffle(t)
    

     

    随机选取

    如果使用numpy的话,使用numpy.random.choice。它可以从一个int数字或1维array里随机选取内容,并将选取结果放入n维array中返回。

    #从np.arange(5)的范围内均匀随机取3个元素,等效于np.random.randint(0,5,3)
    >>> np.random.choice(5, 3)
    array([0, 3, 4])
    
    #根据概率分布[0.1, 0, 0.3, 0.6, 0]从np.arange(5)里面取三个元素。
    >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
    array([3, 3, 0])
    
    # 从np.arange(5)的范围内均匀随机取3个元素,3个元素不可重复,等效于np.random.permutation(np.arange(5))[:3]
    >>> np.random.choice(5, 3, replace=False)
    array([3,1,0])
    
    >>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
    array([2, 3, 0])
    
    # 随机选择的对象可以是任意的list,而不是仅仅为整数list
    >>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
    >>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
    array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'],
          dtype='|S11')
    

      

    随机整数

    >>> np.random.randint(2, size=10)
    array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])
    
    >>> np.random.randint(1, size=10)
    array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
    
    >>> np.random.randint(5, size=(2, 4))
    array([[4, 0, 2, 1],
           [3, 2, 2, 0]])
    
    =========================================
    引用自https://www.cnblogs.com/ymjyqsx/p/7395685.html
    

      

  • 相关阅读:
    PL/SQL中判断字段为空
    ArrayList知识详解
    那些碰到过的异常
    Java中的==和equals( )方法
    String,StringBuilder和StringBuffer
    树莓派3b+_32位linux系统arm架构安装JDK
    [杂]右键拷贝文件路径
    [023]模板成员函数为什么不能是虚函数
    [杂]几个好玩的网址
    [022]c++虚函数、多态性与虚表
  • 原文地址:https://www.cnblogs.com/immortalBlog/p/12434357.html
Copyright © 2020-2023  润新知