虽然Python内置的random模块中可以生成随机数,但是每次只能随机生成一个随机数,但是每次只能随机生成一个数字,而且随机数的种类也不够丰富。
函数 | 说明 |
---|---|
seed(n) | 设置随机种子 |
beta(a,b,size=None) | 生成贝塔分布随机数 |
chiquare(df,size=None) | 生成卡方分布随机数 |
choice(a,size=None,replace=True,p=None) | 从a中有放回的随机挑选指定数量的样本 |
exponential(scale=1.0,size=None) | 生成指数分布随机数 |
f(dfnum,dfden,size=None) | 生成F分布随机数 |
gamma(shape,scale=1.0,size=None) | 生成伽马分布随机数 |
geometric(p,size=None) | 生成几何分布随机数 |
这里不写完了,书本72页。
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats
import numpy as np
# 生成各种正态分布随机数
np.random.seed(1234)
rn1 = np.random.normal(loc = 0, scale = 1, size = 1000)
rn2 = np.random.normal(loc = 0, scale = 2, size = 1000)
rn3 = np.random.normal(loc = 2, scale = 3, size = 1000)
rn4 = np.random.normal(loc = 5, scale = 3, size = 1000)
# 绘图
plt.style.use('ggplot')
sns.distplot(rn1,hist = False,kde = False,fit = stats.norm,fit_kws = {'color':'black','label':'u=0,s=1','linestyle':'-'})
sns.distplot(rn2,hist = False,kde = False,fit = stats.norm,fit_kws = {'color':'red','label':'u=0,s=2','linestyle':'--'})
sns.distplot(rn3,hist = False,kde = False,fit = stats.norm,fit_kws = {'color':'blue','label':'u=2,s=3','linestyle':':'})
sns.distplot(rn4,hist = False,kde = False,fit = stats.norm,fit_kws = {'color':'purple','label':'u=5,s=3','linestyle':'-.'})
#呈现图例
plt.legend()
#呈现图形
plt.show()
OUT:
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats
import numpy as np
np.random.seed(1234)
re1 = np.random.exponential(scale=0.5,size=1000)
re2 = np.random.exponential(scale=1,size=1000)
re3 = np.random.exponential(scale=1.5,size=1000)
# 绘图
sns.distplot(re1,hist=False,kde=False,fit=stats.expon,fit_kws={'color':'black','label':'lambda=0.5','linestyle':'-'})
sns.distplot(re2,hist=False,kde=False,fit=stats.expon,fit_kws={'color':'red','label':'lambda=1','linestyle':'--'})
sns.distplot(re3,hist=False,kde=False,fit=stats.expon,fit_kws={'color':'blue','label':'lambda=1.5','linestyle':':'})
# 呈现图例
plt.legend()
# 呈现图形
plt.show()
OUT:
本章总结