numpy中random模块使用

在python数据分析的学习和应用过程中,经常需要用到numpy的随机函数,下面我们学习一下具体的使用,本文着重说明各个分布随机数的生成。

numpy.random.rand()

  • rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1
  • 括号参数为生成随机数的维度
a = np.random.rand(4,2)
print(a)
#[[ 0.12531495  0.21084176]
# [ 0.49285425  0.71383499]
# [ 0.34699335  0.04372341]
# [ 0.15578197  0.43788198]]

numpy.random.randint()

  • 返回随机整数,范围区间为[low,high),包含low,不包含high
  • 参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
  • high没有填写时,默认生成随机数的范围是[0,low)
np.random.randint(1,5) # 返回1个[1,5)时间的随机整数
np.random.randint(-5,5,size=(2,2))

numpy.random.random(size=None)

np.random.random(size=(2,2))

numpy.random.randn()

  • randn函数返回一个或一组样本,具有标准正态分布
  • 标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1)
np.random.randn(2,4)
#[[0.27795239, -2.57882503,  0.3817649 ,  1.42367345],
#       [-1.16724625, -0.22408299,  0.63006614, -0.41714538]]

np.random.normal(loc=0.0, scale=1.0, size=None)正态分布

  • loc:float概率分布的均值,对应着整个分布的中心center
  • scale:float概率分布的标准差,对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高
  • size:int or tuple of ints输出的shape,默认为None,只输出一个值
  • np.random.randn(size)所谓标准正太分布(μ=0, σ=1),对应于np.random.normal(loc=0, scale=1, size)
mu, sigma = 0, 0.1 # mean and standard deviation
s = np.random.normal(mu, sigma, 1000)

numpy.random.exponential(scale=1.0, size=None)

  • 这里的scale是β,而β=1/λ

numpy.random.poisson(lam=1.0, size=None)

import numpy as np
s = np.random.poisson(5, 10000)
s = np.random.poisson(lam=(100., 500.), size=(100, 2))
#分别得到λ=100,500的数组,100为第一列,500为第二列

numpy.random.uniform(low=0.0, high=1.0, size=None)

  • 生成[a, b)的均匀分布
    s = np.random.uniform(-1,0,1000)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容