• Python numpy 入门系列 21 零散知识点


    np.random.uniform

    借助numpy.random.uniform()方法,我们可以从均匀分布中获取随机样本,并使用此方法将随机样本作为numpy数组返回。

    均匀分布

    用法:numpy.random.uniform(low=0.0, high=1.0, size=None)

    Return:以numpy数组形式返回随机样本。

    范例1:

    在此示例中,我们可以看到,通过使用numpy.random.uniform()方法,我们能够从均​​匀分布中获取随机样本并返回随机样本。

    # import numpy 
    import numpy as np 
    import matplotlib.pyplot as plt 
      
    # Using uniform() method 
    gfg = np.random.uniform(-5, 5, 5000) 
      
    plt.hist(gfg, bins = 50, density = True) 
    plt.show()

     函数原型: numpy.random.uniform(low,high,size)

    • 功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.
    • 参数介绍:
      low: 采样下界,float类型,默认值为0;
      high: 采样上界,float类型,默认值为1;
      size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出 m * n * k 个样本,缺省时输出1个值。
      返回值:ndarray类型,其形状和参数size中描述一致。

    mean() 函数

    numpy.mean(a, axis, dtype, out,keepdims )
    mean()函数功能:求取均值
    经常操作的参数为axis,以m * n矩阵举例:
        axis 不设置值,对 m*n 个数求均值,返回一个实数
        axis = 0:压缩行,对各列求均值,返回 1* n 矩阵
        axis =1:压缩列,对各行求均值,返回 m *1 矩阵
        


    np.testing.assert_equal

    用法:

    testing.assert_equal(actual, desired, err_msg='', verbose=True)

    如果两个对象不相等,则引发 AssertionError。

    给定两个对象(标量、列表、元组、字典或 numpy 数组),检查这些对象的所有元素是否相等。在第一个冲突值处引发异常。

    当actual 和desired 之一是标量而另一个是数组 时,该函数检查数组 对象的每个元素是否等于标量。

    此函数处理 NaN 比较,就好像 NaN 是 “normal” 数字一样。也就是说,如果两个对象在相同位置都有 NaN,则不会引发 AssertionError。这与关于 NaN 的 IEEE 标准形成对比,后者表示 NaN 与任何东西相比都必须返回 False。

    参数

    actual array_like

    要检查的对象。

    desired array_like

    预期的对象。

    err_msg str,可选

    失败时要打印的错误消息。

    verbose 布尔型,可选

    如果为 True,则将冲突值附加到错误消息中。

    抛出

    AssertionError

    如果实际和期望不相等。

    例子

    >>> np.testing.assert_equal([4,5], [4,6])
    Traceback (most recent call last):
        ...
    AssertionError:
    Items are not equal:
    item=1
     ACTUAL:5
     DESIRED:6

    np.random.choice 从数组中随机抽取元素

    参数replace
    用来设置是否可以取相同元素:
    True表示可以取相同数字;
    False表示不可以取相同数字。
    默认是True

    参数p
    p实际是个数组,大小(size)应该与指定的a相同,用来规定选取a中每个元素的概率,默认为概率相同

    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的话, 有可能会出现重复的,因为前面的抽的放回去了。
    # ————————————————
    # 链接:https://blog.csdn.net/qfpkzheng/article/details/79061601

    结果

    [0 2 1]
    [3 0 2]

    REF

    https://vimsky.com/examples/usage/numpy-random-uniform-in-python.html

    https://www.zhihu.com/question/424417883/answer/1703791656

    https://blog.csdn.net/lilong117194/article/details/78397329/

    https://vimsky.com/examples/usage/python-numpy.testing.assert_equal.html

  • 相关阅读:
    vue Ant Design 树形控件拖动限制
    defineProperty介绍及使用
    webpack 配置入门
    vscode 插件
    解决输入框自动填充账号密码的问题
    css 动画
    vue按钮权限控制
    git操作
    TCP和UDP的区别
    通信协议 HTTP TCP UDP
  • 原文地址:https://www.cnblogs.com/emanlee/p/16241067.html
Copyright © 2020-2023  润新知