python正态分布代码
时间: 2023-11-09 12:02:17 浏览: 51
生成正态分布的代码可以使用Python中的numpy库中的random模块,具体实现如下:
```python
import numpy as np
# 生成均值为0,标准差为1的正态分布随机数
mu, sigma = 0, 1
s = np.random.normal(mu, sigma, 1000)
```
其中,mu表示正态分布的均值,sigma表示正态分布的标准差,1000表示生成1000个随机数。
相关问题
python正态分布计算概率代码
可以回答这个问题。以下是一个计算正态分布概率的Python代码示例:
```python
import math
def normal_pdf(x, mu=0, sigma=1):
sqrt_two_pi = math.sqrt(2 * math.pi)
return (math.exp(-(x-mu)**2 / (2 * sigma**2)) / (sqrt_two_pi * sigma))
def normal_cdf(x, mu=0, sigma=1):
return (1 + math.erf((x - mu) / math.sqrt(2) / sigma)) / 2
```
其中,`normal_pdf`函数计算正态分布的概率密度函数值,`normal_cdf`函数计算正态分布的累积分布函数值。你可以根据需要调用这两个函数来计算正态分布的概率。
python正态分布
正态分布(Normal distribution),也称为高斯分布(Gaussian distribution),是统计学中最重要的连续概率分布之一。正态分布的概率密度函数由其均值μ和方差σ^2决定。在Python中,可以使用SciPy库中的stats模块来生成正态分布的随机数。以下是一个示例代码:
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
# 生成正态分布的随机数
mean = 0 # 均值
std = 1 # 标准差
size = 1000 # 生成的随机数个数
data = np.random.normal(mean, std, size)
# 绘制直方图和概率密度函数曲线
fig, ax = plt.subplots()
ax.hist(data, bins=50, density=True, alpha=0.7)
x = np.linspace(mean - 4*std, mean + 4*std, 100)
ax.plot(x, stats.norm.pdf(x, mean, std), 'r-', label='Normal Distribution')
ax.legend()
plt.show()
以上代码首先使用np.random.normal()函数生成1000个符合指定均值和标准差的随机数,并使用plt.hist()函数绘制直方图。然后使用stats.norm.pdf()函数生成正态分布的概率密度函数曲线,并使用plt.plot()函数绘制在同一张图上。最后使用plt.show()函数显示图像。