zoukankan      html  css  js  c++  java
  • python随机采样函数np.random.choice

    1.np.random.choice

    numpy.random.choice(a, size=None, replace=True, p=None)
    • 从给定的一维数组中生成随机数
    • 参数: a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率
    • a为整数时,对应的一维数组为np.arange(a)

    https://blog.csdn.net/qfpkzheng/article/details/79061601

    import numpy as np
    
    # 参数意思分别 是从a 中以概率P,随机选择3个, p没有指定的时候相当于是一致的分布
    a1 = np.random.choice(a=5, size=3, replace=False, p=None)
    print(a1)
    # 非一致的分布,会以多少的概率提出来
    a2 = np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])
    print(a2)
    # replacement 代表的意思是抽样之后还放不放回去,如果是False的话,那么出来的三个数都不一样,
    # 如果是True的话, 有可能会出现重复的,因为前面的抽的放回去了。

    2.例子

    默认replace=True,即默认是可以重复采样的。

    >>> np.random.choice(5)
              
    2
    >>> np.random.choice(5,2)
              
    array([0, 3])

     默认重复采样:

    >>> demo_list = ['lenovo', 'sansumg','moto','xiaomi', 'iphone']
              
    >>> np.random.choice(demo_list,size=(3,3))
              
    array([['iphone', 'iphone', 'lenovo'],
           ['lenovo', 'iphone', 'iphone'],
           ['xiaomi', 'iphone', 'lenovo']], dtype='<U7')

    如果采样大小size超过了a的大小,那么自动重复采样:

    import numpy as np
    print(np.random.choice([1,2,3,4],10))
    
    #结果
    [3 4 2 1 4 3 1 4 1 3]
    如果要求的数目大于数组的长度,原来它是可以自动这样重复采样的啊。
  • 相关阅读:
    使用webstorm来创建并且运行vue项目详细教程
    Jmeter后置处理器之Json提取器
    Linux常用命令
    Linux安装Mysql
    Linux安装JDK
    redhat6.5安装yum
    Linux安装python
    Linux安装Tomcat
    搞懂Redis协议RESP
    1TB是多大?
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/14966341.html
Copyright © 2011-2022 走看看