• 【Numpy】一篇文章讲解常用的numpy.random()函数(含Python代码理解)


    首先我们导入numpy

    import numpy as np
    
    • 1

    1. np.random.rand()

    语法:numpy.random.rand(d0,d1,...,dn)

    rand函数根据给定维度生成[0,1)之间的数据,dn为生成数据的在每个维度上有几个值
    
    • 1

    举一个例子:

    print(np.random.rand(4,4))
    
    • 1

    我们上面是要求生成一个四行四列的矩阵,结果展示如下:

    [[0.76148228 0.69741528 0.85618308 0.35497915]
     [0.80883181 0.07394968 0.84910785 0.96689938]
     [0.93378835 0.6106163  0.97327159 0.85259089]
     [0.08924978 0.40916202 0.46347513 0.44368508]]
    
    • 1
    • 2
    • 3
    • 4

    2. np.random.randn()

    语法:numpy.random.randn(d0,d1,...,dn)

    返回一个或一组样本,具有标准的正态分布
    dn的意义同上
    
    • 1
    • 2

    举一个例子:

    print(np.random.randn(4,4))
    
    • 1

    结果展示:

    [[-0.13707518  0.49339886 -0.39953276 -0.00649661]
     [-0.86065941  1.05535116 -1.04004927 -0.44068854]
     [ 1.20648254  0.21791289 -1.16513215 -0.34280696]
     [-2.26298815  0.71094526 -1.18086159 -0.97208557]]
    
    • 1
    • 2
    • 3
    • 4

    3. np.random.randint()

    语法为:numpy.random.randint(low,high=None, size=None, dtype='l')

    返回随机整数,范围是[low, high), 包含low, 不包含hig
    hlow 是最小值,high是最大值,size为数组维度大小,dtype为数据类型
    high 没有填写时,默认生成的随机数的范围是[0,low)

    举一个例子:

    print(np.random.randint(0,10,5))
    
    • 1

    结果展示为:

    [4 9 9 5 4]
    
    • 1

    4. 生成[0,1)之间的浮点数

    我们可以使用以下几个函数:

    1) numpy.random.random_sample(size=None)
    
    2) numpy.random.random(size=None)
    
    3) numpy.random.ranf(size=None)
    
    4) numpy.random.sample(size=None)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    结果展示:

    1)

    print(np.random.random_sample(10))
    
    • 1

    结果展示:

    [0.07232841 0.35329631 0.18994809 0.37573525 0.41869297 0.42815916
     0.09142496 0.13752638 0.27210487 0.03473026]
    
    • 1
    • 2

    2)

    print(np.random.random(10))
    
    • 1

    结果展示:

    [0.57782124 0.98586647 0.26316025 0.01350018 0.31534374 0.29930303
     0.25787614 0.54663009 0.44360118 0.9096048 ]
    
    • 1
    • 2

    3)

    print(np.random.ranf(10))
    
    • 1

    结果展示为:

    [0.67700311 0.29741907 0.26364099 0.50193695 0.20823445 0.41568927
     0.80208311 0.59939499 0.5815308  0.50895808]
    
    • 1
    • 2

    4)

    print(np.random.sample(10))
    
    • 1

    结果展示为:

    [0.24963546 0.10957904 0.88985519 0.39149802 0.95887497 0.30991873
     0.90713363 0.57993866 0.29358357 0.37979748]
    
    • 1
    • 2

    5. np.random.choice()

    语法为:numpy.random.choice(a,size=None, replace=True,p=None)

    从给定的一维数组中生成随机数a 为一维数组类似数据或整数;
    size为数组维度;p为数组中的数据出现的概率

    举个例子:

    print(np.random.choice(10,5))
    
    • 1

    结果展示如下:

    [5 1 5 6 1]
    
    • 1

    6. np.random.seed()

    使得随机数可预测当我们设置相同的seed,每次生成的随机数相同。
    如果不设置seed,则每次会生成不同的随机数
    
    • 1
    • 2

    举个例子:

    np.random.seed(0)
    print(np.random.randint(0,5,3))
    
    • 1
    • 2

    第一次运行:

    [4 0 3]
    
    • 1

    第二次运行:

    [4 0 3]
    
    • 1

    结果是一样的,避免了数据的随机性。

  • 相关阅读:
    Python测试进阶(一)
    【EI会议征稿】第七届电子器件与机械工程国际学术会议(ICEDME 2024)
    npm install 报错 chromedriver 安装失败的解决办法
    leetcode 35 python
    接口使用的最佳时机
    BoTorch AX相关介绍
    Python模块和包
    wps和office可以同时装吗?
    html 列表标签的学习,表单标签的学习
    分组密码--DES详解
  • 原文地址:https://blog.csdn.net/wzk4869/article/details/126867164