【NumPy生成正态分布和均匀分布并可视化】

文章介绍了如何使用Python的NumPy库生成正态分布和均匀分布的随机数据,并通过可视化展示其特性,包括均值、方差和概率密度函数。
摘要由CSDN通过智能技术生成

正态分布(Normal Distribution)

正态分布,也被称为高斯分布,具有以下特点:

  • 均值(Mean):数据的中心位置。
  • 方差(Variance):数据的分散程度。
  • 形状对称:正态分布是对称的,均值位于分布的中心。

使用numpy.random.normal()函数来生成正态分布的随机数据。

import numpy as np
import matplotlib.pyplot as plt

# 定义均值和标准差
mean = 0
std_deviation = 1

# 生成正态分布的随机数据
data = np.random.normal(mean, std_deviation, 1000)

# 绘制直方图
plt.hist(data, bins=30, density=True, alpha=0.6, color='g')

# 绘制正态分布的概率密度函数
x = np.linspace(mean - 3 * std_deviation, mean + 3 * std_deviation, 100)
pdf = (1 / (std_deviation * np.sqrt(2 * np.pi))) * np.exp(-0.5 * ((x - mean) / std_deviation)**2)
plt.plot(x, pdf, 'r--', lw=2)

# 设置中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

plt.title('正态分布随机数据可视化')
plt.xlabel('数值')
plt.ylabel('概率密度')
plt.show()

定义均值和标准差,使用numpy.random.normal()生成1000个符合正态分布的随机数据。绘制直方图以及正态分布的概率密度函数。

均匀分布(Uniform Distribution)

均匀分布是一种简单的分布,它的所有数值具有相等的概率。在NumPy中,使用numpy.random.uniform()函数来生成均匀分布的随机数据。

import numpy as np
import matplotlib.pyplot as plt

# 定义最小值和最大值
low = 0
high = 1

# 生成均匀分布的随机数据
data = np.random.uniform(low, high, 1000)

# 绘制直方图
plt.hist(data, bins=30, density=True, alpha=0.6, color='b')


# 绘制概率密度函数
x = np.linspace(low, high, 10000)
y = np.ones_like(x) / float(high - low)
plt.plot(x, y, color='r', alpha=0.8, linewidth=0.5)
# 设置中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.title('均匀分布随机数据可视化')
plt.xlabel('数值')
plt.ylabel('概率密度')
plt.show()

定义最小值和最大值,使用numpy.random.uniform()生成1000个符合均匀分布的随机数据。

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武帝为此

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值