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() 函数
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