感谢scipy.org
在近期的tensorflow学习中,我发现,numpy作为python的数学运算库,学习tensorflow过程中经常需要用到,而numpy的random函数功能很多,每次用的时候都需要另行google,所以我决定将它的常用用法汇总一下。
0. first of all
既然是讲随机数,众所周知,计算机世界的随机数都是伪随机,都有一个叫做种子(seed)的东西
numpy.random.seed(seed=None)
可以通过输入int或arrat_like来使得随机的结果固定
1. numpy.random.rand()
numpy.random.rand(d0,d1...dn)
- rand函数根据给定维度生成半开区间[0,1)之间的数据,包含0,不包含1
- dn表示每个维度
- 返回值为指定纬度的numpy.ndarray
2. np.random.randn()
numpy.random.randn(d0,d1,…,dn)
- randn函数返回一个或一组样本,具有标准正态分布。
- dn表示每个维度
- 返回值为指定维度的numpy.ndarray
3. numpy.random.randint()
numpy.random.randint(low, high=None, size=None, dtype=’l’)
- 从区间[low,high)返回随机整形
- 参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
- high没有填写时,默认生成随机数的范围是[0,low)
4. numpy.random.random_sample()
numpy.random.random_sample(size=None)
类似功能的还有:
numpy.random.random(size=None)
numpy.random.ranf(size=None)
numpy.random.sample(size=None)
5. numpy.random.choice() ✡️
numpy.random.choice(a, size=None, replace=True, p=None)
- 从给定的一位数组中生成一个随机样本
- a要求输入一维数组类似数据或者是一个int;size是生成的数组纬度,要求数字或元组;replace为布尔型,决定样本是否有替换;p为样本出现概率
感谢您的阅读🙏