1、常用随机数函数
random.rand():根据给定维度生成[0,1)之间的数据
random.randn():根据给定维度(不给维度时为单个数),产生符合标准正态分布的随机数
random.normal():产生可定义均值和标准差的正态分布随机数
random.randint():返回给定维度的随机整数
random.random()\random.sample:返回给定维度的[0,1)之间的随机数
random.choice():从给定的一维数组中生成随机数
random.seed():当设置相同的seed,每次生成的随机数相同,不设置seed,则每次会生成不同的随机数,数字一般可随意设置
numpy random官方参考文档:https://docs.scipy.org/doc/numpy/reference/routines.random.html
2、示例
#1.生成随机正态分布图 import matplotlib.pyplot as plt import numpy as np import seaborn as sns x=3.5*np.random.randn(500)+6 #产生满足正态分布(均值6,方差3.5)的有500个随机数的一维数组 plt.figure() #新建figure对象 plt.hist(x) #生成直方图 plt.show() #显示图形 sns.distplot(x)#打印正态分布曲线
#2.seed的使用 np.random.seed(30)#当seed一样,生成的随机数是一样的 y=np.random.rand(500) plt.hist(y) plt.show() np.random.seed(30)#生成随机数的地方都需要设置,数字可随意 z=np.random.random(500) plt.hist(z) plt.show()
#3.其他常用函数 print (np.random.random is np.random.sample)#这两种类型是等价的 print (np.random.random)#random的实际类型就是sample print (np.random.choice(5,3))#产生由0~4产生的数组,并随机挑选3个显示,每取一次数字,数字还会被放回 print (np.random.rand(10)) #生成[0,1)之间的随机数 print (np.random.randn(10))#产生符合标准正态分布的随机数
True <built-in method random_sample of mtrand.RandomState object at 0x10f7ff8b8> [4 0 1] [0.94936764 0.73113029 0.48732159 0.29366555 0.99177743 0.08792783 0.81796664 0.86107705 0.65270547 0.91350941] [-0.95933689 -1.05804151 1.46924042 1.27206488 -1.65963655 -0.26773304 -0.18523583 -0.14499593 -1.29683753 -0.02781812]