Numpy Random 随机数
Numpy可以根据一定的规则创建随机数,随机数的使用会在概率论,数据分析,数据挖掘的时候经常用到。
官网主页Random
本文整理Numpy Random常见的一些用法。
目录
np.random.rand(d0, d1, ..., dn)
np.random.randn(d0, d1, ..., dn)
np.random.randint (low, high=None, size=None, dtype='l')
np.random.choice(a, size=None, replace=True, p=None)
在随机数内容之前,提一下数组的shape属性。
数组array的shape属性,是指数组的维度,是一些整数组成的元祖tuple,元祖中每个整数表示对应每个维度的大小。
例如,如果元祖中只有一个整数,该数组为一维数组;如果元祖有2个整数,即为二维数组,以此类推。
Numpy Random常见的一些用法
-
np.random.rand(d0, d1, ..., dn)
创建给定shape维度大小的array数组,数组内数据为满足平均分布的[0,1)
内的值。
返回的结果:数组,维度元祖为(d0, d1, ..., dn)
1)当函数括号内没有参数时,则返回一个浮点数;
2)当函数括号内有一个参数时,则返回一维数组;
注意,这里输出的维度shape元组 (10, ) 。按官方的文档理解,这里的10表示的是一维数组中元素的数量;
3)当函数括号内有两个及以上参数时,则返回对应维度的数组;
-
np.random.randn(d0, d1, ..., dn)
创建给定shape维度大小的array数组,数组内数据为满足标准正态分布的float数值。
返回的结果:数组,维度元祖为(d0, d1, ..., dn)
1)当函数括号内没有参数时,则返回一个浮点数;
2)当函数括号内有一个参数时,则返回一维数组;
3)当函数括号内有两个及以上参数时,则返回对应维度的数组;
-
np.random.randint (low, high=None, size=None, dtype='l')
返回整数数组;如果size参数没有设置,则返回一个整数int值。
数值大小为参数设置的[low,high)前闭后开区间内的整数,随机整数符合离散均匀分布。
如果参数设置中没有设置high值,默认为空,则数据范围为 [0, low).
该函数至少要设置一个low值确定数据区间,否则无参数将报错。
1. 仅有一个参数a,未设置数组size值,返回[0,a)之间的一个整数
2. 设置数据区间low值和high值,未设置数组size值,返回[low,high)之间的一个整数
3. 设置数据区间low值和high值,设置数组size值,返回[low,high)之间的整数组成的数组
4. 设置数据区间low值,未设置high值,设置数组size值,返回[0,low)之间的整数组成的数组
-
np.numpy.random(size=none)
创建参数指定shape size的随机float数数组;
若size为空,返回的单一float值。
数据值范围在前闭后开区间[0.0,1.0)内。
-
np.numpy.sample(size=none)
同np.numpy.random用法:创建参数指定shape size的随机float数数组;若size为空,返回的单一float值。
数据值范围在前闭后开区间[0.0,1.0)内,但sample创建的数据同时满足连续平均分布。
-
np.random.choice(a, size=None, replace=True, p=None)
从给定的一维数组中随机选择元素,创建指定shape size维度大小的元祖。
对于参数a:如果为数组,该函数将从a中元素随机选择,组成新的数组;
如果a为一个整数,将返回[0,a)区间随机产生一个整数。
官方文档中这么描述,将a看作np.arange(a),从区间[0,a)里面随机挑选一个整数。