如何区分np.random.normal()、np.random.randn()、np.random.randint()、np.random.random()、np.random.choice()

本期我们来对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]

总结:

  1. 与正态分布相关的:np.random.normal()、np.random.randn()
  2. 在设定区间内取整数:np.random.randint()
  3. 在0-1之间取浮点数:np.random.random()
  4. 在数组中抽取元素:np.random.choice()
  5. 将数组元素顺序打乱:np.random.shuffle()

你可能感兴趣的:(python,numpy,数据分析)