本期我们来对np.random中常用的函数进行区分
- np.random.normal(loc,scale,size)
参数说明:
loc:正太分布的均值
scale:正太分布的标准差
size:设定数组形状
a = np.random.normal(loc=0,scale=1,size=6) #创建符合正态分布的数据数.loc:均值,scale:标准差,size:数据的形状
a
输出:array([-0.74337358, -0.95816981, 0.36096356, 0.92976724, -1.92123882,
-0.10712795])
a = np.random.normal(loc=0,scale=1,size=(2,3)) #创建符合正态分布的数据数.loc:均值,scale:标准差,size:数据的形状
a
输出:array([[-0.42629284, -0.35357581, -0.97526722],
[ 0.85619928, 1.84273081, -0.61519351]])
- np.random.randn()
作用:在正态分布上取值,可以设定数组的形状
d = np.random.randn(2,3) #在正态分布上取值,可以设定他的取值形状或者个数
d
输出:array([[-1.49531443, -0.8438286 , -1.59518356],
[ 0.41076302, 1.52266989, 1.71784795]])
- np.random.randint(low,high,size)
作用:在一个区间内取整数
参数说明:
low:设定取值区间的最小值
high:设定取值区间的最大值
size:设定数组的形状
#返回一个区间的随机整数
b = np.random.randint(low=1,high=5,size=(2,3))
b
输出:array([[3, 3, 3],
[4, 1, 1]])
- np.random.random(size)
作用:生成0-1之间的浮点数,可以通过size设定数组的形状
c = np.random.random(size=5) #生成0-1之间的浮点数,size:可以指定形状或者数目
c
输出:array([0.02830536, 0.94123631, 0.22352436, 0.92819589, 0.93566593])
- np.random.choice()
作用:从数组中抽取元素
参数说明:
a:输入被抽取的数组
size:设定需要抽取的元素形状或者个数
p:设定数组中每个元素,被抽取出来的概率,概率之和要等于一
#如果a只输入一个数
np.random.choice(a=4,size=(2,3)) #则默认从数组np.range(a)中取出特定形状的值
输出:array([[1, 2, 3],
[3, 2, 0]])
设定数组中每个元素被抽取的概率(即设定参数p):
np.random.choice(a=[2,4,5,6],size=(2,3),replace=True,p=[0.1,0.3,0.5,0.1]) #从数组中按设定的概率进行抽取元素
输出:array([[5, 4, 5],
[5, 5, 5]])
- np.random.shuffle()
作用:将数组顺序随机打乱,类似于洗牌
#洗牌
d = [2,4,5,6]
np.random.shuffle(d)
d
输出:[5, 2, 6, 4]
总结:
- 与正态分布相关的:np.random.normal()、np.random.randn()
- 在设定区间内取整数:np.random.randint()
- 在0-1之间取浮点数:np.random.random()
- 在数组中抽取元素:np.random.choice()
- 将数组元素顺序打乱:np.random.shuffle()