专业编程基础技术教程

网站首页 > 基础教程 正文

Python随机函数竟然这么强大

ccvgpt 2024-08-07 18:49:19 基础教程 9 ℃

平时数据分析各种分布的数据构造,特别是正态分布,那怎么生成这样的数据呢,random模块提供了非常方便的函数

#加载所需要的包
import random 
import matplotlib.pyplot as plt
import seaborn as sns

vonmisesvariate

描述:卡帕分布

Python随机函数竟然这么强大

语法:vonmisesvariate(mu, kappa)

data = [random.vonmisesvariate(2,2) for i in range(20000)]
#直方图
plt.hist(data, bins=100,  color="#FF0000", alpha=.7)
#密度图
sns.kdeplot(data, shade=True,color="#FF0000")

直方图

密度图


weibullvariate

描述:威布尔分布

语法:random.weibullvariate(alpha, beta)

data = [random.weibullvariate(1,2) for i in range(20000)]
#直方图
plt.hist(data, bins=100,  color="#FF0000", alpha=.7)sns.kdeplot(data, shade=True,color="#FF0000")

直方图

密度图


betavariate

描述: β分布

语法:random.betavariate(alpha, beta)

data = [random.betavariate(1,2) for i in range(20000)]
#直方图
plt.hist(data, bins=100,  color="#FF0000", alpha=.7)
#密度图
sns.kdeplot(data, shade=True,color="#FF0000")

直方图

密度图



expovariate

描述:指数分布

语法:random.expovariate(lambd)

data = [random.expovariate(2) for i in range(50000)]
#直方图
plt.hist(data, bins=100,  color="#FF0000", alpha=.7)
#密度图
sns.kdeplot(data, shade=True,color="#FF0000")

直方图

密度图


gammavariate

描述: 伽马分布

语法:random.gammavariate(alpha, beta)

data = [random.expovariate(2) for i in range(50000)]
#直方图
plt.hist(data, bins=100,  color="#FF0000", alpha=.7)
#密度图
sns.kdeplot(data, shade=True,color="#FF0000")

直方图

密度图



gauss

描述:高斯分布

语法:random.gauss(mu, sigma)

data = [random.gauss(2,2) for i in range(50000)]
#直方图
plt.hist(data, bins=100,  color="#FF0000", alpha=.7)
#密度图
sns.kdeplot(data, shade=True,color="#FF0000")

直方图

密度图


lognormvariate

描述:对数正态分布

语法:random.lognormvariate(mu, sigma)

示例:

data = [random.gauss(2,2) for i in range(50000)]
#直方图
plt.hist(data, bins=100,  color="#FF0000", alpha=.7)
#密度图
sns.kdeplot(data, shade=True,color="#FF0000")

直方图

密度图


normalvariate

描述: 正态分布

语法:random.normalvariate(mu, sigma)

data = [random.normalvariate(2,4) for i in range(20000)]
#直方图
plt.hist(data, bins=100,  color="#FF0000", alpha=.7)
#密度图
sns.kdeplot(data, shade=True,color="#FF0000")

直方图


密度图


triangular

描述:返回一个low <= N <=high的三角形分布的随机数。参数mode指明众数出现位置。

语法: random.triangular(low, high, mode)

data = [random.triangular(2,2,3) for i in range(20000)]
#直方图
plt.hist(data, bins=100,  color="#FF0000", alpha=.7)
#密度图
sns.kdeplot(data, shade=True,color="#FF0000")

直方图

密度图无法显示


paretovariate

描述:帕累托分布

语法:random.paretovariate(alpha)

data = [random.paretovariate(4) for i in range(50000)]
#直方图
plt.hist(data, bins=100,  color="#FF0000", alpha=.7)
#密度图
sns.kdeplot(data, shade=True,color="#FF0000")

直方图

密度图

最近发表
标签列表