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.numpy.random(size=none) 

np.numpy.sample(size=none) 

np.random.choice(a, size=None, replace=True, p=None)


在随机数内容之前,提一下数组的shape属性

数组array的shape属性,是指数组的维度,是一些整数组成的元祖tuple,元祖中每个整数表示对应每个维度的大小。

例如,如果元祖中只有一个整数,该数组为一维数组;如果元祖有2个整数,即为二维数组,以此类推。

 

Numpy Random常见的一些用法

  • np.random.rand(d0d1...dn

创建给定shape维度大小的array数组,数组内数据为满足平均分布的[0,1)的值。

返回的结果:数组,维度元祖为(d0d1...dn

1)当函数括号内没有参数时,则返回一个浮点数;

Numpy Random 随机数

2)当函数括号内有一个参数时,则返回一维数组;

Numpy Random 随机数

注意,这里输出的维度shape元组 (10, ) 。按官方的文档理解,这里的10表示的是一维数组中元素的数量; 

3)当函数括号内有两个及以上参数时,则返回对应维度的数组;

Numpy Random 随机数

 

  • np.random.randn(d0d1...dn

创建给定shape维度大小的array数组,数组内数据为满足标准正态分布的float数值。

返回的结果:数组,维度元祖为(d0d1...dn

1)当函数括号内没有参数时,则返回一个浮点数;

2)当函数括号内有一个参数时,则返回一维数组;

3)当函数括号内有两个及以上参数时,则返回对应维度的数组;

Numpy Random 随机数

 

 

  • np.random.randint (lowhigh=Nonesize=Nonedtype='l')

返回整数数组;如果size参数没有设置,则返回一个整数int值。

数值大小为参数设置的[low,high)前闭后开区间内的整数,随机整数符合离散均匀分布。

如果参数设置中没有设置high值,默认为空,则数据范围为 [0, low).

该函数至少要设置一个low值确定数据区间,否则无参数将报错。

1. 仅有一个参数a,未设置数组size值,返回[0,a)之间的一个整数

Numpy Random 随机数

2. 设置数据区间low值和high值,未设置数组size值,返回[low,high)之间的一个整数

Numpy Random 随机数

3. 设置数据区间low值和high值,设置数组size值,返回[low,high)之间的整数组成的数组

Numpy Random 随机数

4.  设置数据区间low值,未设置high值,设置数组size值,返回[0,low)之间的整数组成的数组

Numpy Random 随机数

  • np.numpy.random(size=none) 

创建参数指定shape size的随机float数数组;

若size为空,返回的单一float值。

数据值范围在前闭后开区间[0.0,1.0)内。

Numpy Random 随机数

  • np.numpy.sample(size=none) 

同np.numpy.random用法:创建参数指定shape size的随机float数数组;若size为空,返回的单一float值。

数据值范围在前闭后开区间[0.0,1.0)内,但sample创建的数据同时满足连续平均分布

Numpy Random 随机数

 

  • np.random.choice(asize=Nonereplace=Truep=None)

从给定的一维数组中随机选择元素,创建指定shape size维度大小的元祖。

对于参数a:如果为数组,该函数将从a中元素随机选择,组成新的数组;

如果a为一个整数,将返回[0,a)区间随机产生一个整数。

官方文档中这么描述,将a看作np.arange(a),从区间[0,a)里面随机挑选一个整数。

Numpy Random 随机数