• Numpy 的 random 函数总结


    numpy的random函数

    import numpy as np
    
    • 1

    numpy.random.rand()

    • numpy.random.rand(d0,d1,…,dn)
    • rand 函数根据给定维度生成 [0,1) 之间的数据,包含 0,不包含 1
    • dn 表格每个维度
    • 返回值为指定维度的 array
    np.random.rand(4,2,3)#创建423列的数据
    
    • 1
    out:
    array([[[0.98328983, 0.89976007, 0.45187069],
            [0.7636354 , 0.1266366 , 0.59737245]],
    
           [[0.23233784, 0.72466596, 0.62792478],
            [0.65601457, 0.39634565, 0.67872993]],
    
           [[0.94510396, 0.1209695 , 0.51040255],
            [0.48820327, 0.25108958, 0.39326264]],
    
           [[0.93581577, 0.7946682 , 0.22548727],
            [0.46295792, 0.62925333, 0.93611731]]])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    numpy.random.randn()

    • numpy.random.rand(d0,d1,…,dn)
    - randn 函数返回一个或一组具有标准正态分布样本,。
    - dn 表格每个维度
    - 返回值为指定维度的 array
    
    • 1
    • 2
    • 3
    np.random.randn() #当没有参数,返回单个数据
    
    • 1
    out:
    0.9978221054194687
    
    • 1
    • 2
    np.random.randn(2,4)
    
    • 1
    out:
    array([[-0.91464903, -1.34407418,  0.27328322,  1.48655677],
           [-0.73953291,  1.14596789, -0.37372058,  0.87601889]])
    
    • 1
    • 2
    • 3
    np.random.randn(4,2,4)
    out:
    array([[[ 0.49249151, -0.18689611, -0.7061262 ,  0.45240466],
            [-0.83259504,  2.71097971, -1.39491662,  2.08274104]],
    
           [[ 1.45643729, -1.47484262,  0.05107497, -1.06490762],
            [ 0.59100238, -0.01911552, -0.19523674, -0.26440994]],
    
           [[ 0.78185713,  0.67089298,  1.0351736 ,  0.65612953],
            [ 0.47037743, -0.7347524 ,  0.73128454, -0.26023019]],
    
           [[-0.27894992,  0.03703866, -0.32102327,  0.47836213],
            [ 1.3069379 , -0.24945773, -2.07441152, -0.72807191]]])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 标准正态分布介绍
    • 标准正态分布—standard normal distribution
    • 标准正态分布又称为 u 分布,是以 0 为均值、以 1 为标准差的正态分布,记为 N(0,1)。

    numpy.random.randint()

    • numpy.random.randint(low, high=None, size=None, dtype=‘l’)
    • 返回随机整数,范围区间为 [low,high),包含 low,不包含 high
    • 参数:low 为最小值,high 为最大值,size 为数组维度大小,dtype 为数据类型,默认的数据类型是 np.int
    • high 没有填写时,默认生成随机数的范围是 [0,low)
    np.random.randint(1,size=6)#返回[0,1)的整数,所以只有0
    
    • 1
    out:
    array([0, 0, 0, 0, 0, 0])
    
    • 1
    • 2
    np.random.randint(2,9,size=7)
    out:
    array([5, 2, 4, 3, 2, 8, 2])
    
    • 1
    • 2
    • 3
    np.random.randint(1,5) # 返 回 1 个 [1,5) 时 间 的 随 机 整 数
    
    • 1
    out:
    4
    
    • 1
    • 2
    np.random.randint(-5,5,size=(2,2))   
    
    • 1
    array([[ 2, -4],
           [-4,  0]])
    
    • 1
    • 2

    numpy.random.choice()

    • numpy.random.choice(a, size=None, replace=True, p=None)
    • 从给定的一维数组中生成随机数
    • 参数:a 为一维数组类似数据或整数;size 为数组维度;p 为数组中的数据出现的概率
    • a 为整数时,对应的一维数组为 np.arange(a)
    • replace = False 随机数不能重复
    np.random.choice(5,size=3)
    out:
    array([4, 1, 1])
    
    • 1
    • 2
    • 3
    a=np.array([1,3,5,7])
    np.random.choice(a,size=4)
    array([3, 5, 1, 1])
    np.random.choice(5,size=(2,3))
    array([[4, 4, 0],
           [4, 3, 2]])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    demo_list=['iphone','huawei','xiaomi','sansumg']
    np.random.choice(demo_list,size=(2,2))
    array([['iphone', 'xiaomi'],
           ['sansumg', 'huawei']], dtype=')
    
    • 1
    • 2
    • 3
    • 4
    • 参数 p 的长度与参数 a 的长度需要一致;
    • 参数 p 为概率,p 里的数据之和应为 1
    np.random.choice(demo_list,size=(2,2),p=[0.2,0.3,0.3,0.2])
    array([['sansumg', 'sansumg'],
           ['huawei', 'huawei']], dtype=')
    
    • 1
    • 2
    • 3

    np.random.seed()

    • np.random.seed() 的作用:使得随机数据可预测。
    • 当我们设置相同的 seed,每次生成的随机数相同。如果不设置 seed,则每次会生成不同的随机数
    
    ```c
     np.random.seed(0)   #这个数没有要求,一个种子生成的随机数是一样的
    np.random.rand(2)
    array([0.5488135 , 0.71518937])
    np.random.seed(0)   #一个种子生成的随机数是一样的
    np.random.rand(2)
    array([0.5488135 , 0.71518937])
    
    np.random.seed(1555)
    np.random.rand(4)
    array([0.06316912, 0.76071872, 0.59230514, 0.8572013 ])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    PDF编辑软件哪个好用?PDF文档怎么编辑修改内容
    四化智造MES(WEB)与金蝶云星空对接集成原材料/标准件采购查询(待采购)连通采购订单新增(其他采购订单行关闭-TEST)
    机器人相关课程考核材料归档实施细则2022版本
    刷完 20 年京东架构师的 Redis 优化手册,把面试官给面哭了
    网络安全问题
    最全面的Spring教程(五)——文件上传与下载
    Linux Centos系统 磁盘分区和文件系统管理 (深入理解)
    【Java开发语言 08】第八章(为什么使用泛型+泛型的使用+泛型类+泛型接口,(未)传入泛型实参+泛型方法+通配符+泛型通配符+有限制的通配符)
    【ARMv9 DSU-120 系列 2. -- DSU-120 Cluster 中组件详细介绍】
    用shell批量修改文件名
  • 原文地址:https://blog.csdn.net/m0_63568001/article/details/126075799