正态分布python代码
时间: 2023-07-02 09:13:52 浏览: 48
以下是生成正态分布的Python代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置正态分布的均值和标准差
mu, sigma = 0, 0.1
# 生成随机数
s = np.random.normal(mu, sigma, 1000)
# 绘制直方图
count, bins, ignored = plt.hist(s, 30, density=True)
# 绘制正态分布的曲线
plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
np.exp( - (bins - mu)**2 / (2 * sigma**2) ),
linewidth=2, color='r')
# 显示图形
plt.show()
```
首先,我们导入了 `numpy` 和 `matplotlib.pyplot` 模块。然后,我们设置了正态分布的均值 `mu` 和标准差 `sigma`。接着,使用 `numpy.random.normal()` 函数生成了1000个符合正态分布的随机数 `s`。然后,使用 `matplotlib.pyplot.hist()` 函数绘制了 `s` 的直方图,并使用 `numpy.exp()` 函数计算了正态分布的曲线,并使用 `matplotlib.pyplot.plot()` 函数将其绘制出来。最后,使用 `matplotlib.pyplot.show()` 函数显示图形。
相关问题
标准正态分布python代码
可以使用scipy库中的stats模块来生成标准正态分布。以下是Python代码示例:
```python
from scipy.stats import norm
# 生成100个符合标准正态分布的随机数
samples = norm.rvs(size=100)
print(samples)
```
输出:
```
[-0.16593019 0.18972205 0.30667938 -0.38788125 -0.52070353 -1.42109845
1.6745864 -1.49938967 0.31294025 -0.95522584 -1.45866802 -0.70640625
-1.22047806 0.56476184 0.15919849 -0.1502898 0.70681955 2.0231485
-1.50368925 -0.4293156 -0.23330715 -1.99916812 2.14167831 -0.08664092
-0.38244862 1.01605405 -0.3665893 0.57957332 -1.35748995 -0.1432389
...
```
excel中第一列数据正态分布python代码
以下是将 Excel 表格中第一列数据作为正态分布的输入,并计算其概率密度函数、绘制直方图和拟合曲线的 Python 代码:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# 读取 Excel 表格数据
df = pd.read_excel('example.xlsx')
# 提取第一列数据
data = df.iloc[:, 0].values
# 计算均值和标准差
mu, sigma = norm.fit(data)
# 绘制直方图
plt.hist(data, bins=30, density=True, alpha=0.6, color='g')
# 生成正态分布的概率密度函数
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = norm.pdf(x, mu, sigma)
# 绘制拟合曲线
plt.plot(x, p, 'k', linewidth=2)
# 显示图形
plt.show()
```
首先,我们导入了 `pandas`、`numpy`、`matplotlib.pyplot` 和 `scipy.stats.norm` 模块。然后,使用 `pandas.read_excel()` 函数读取了 Excel 表格数据,并使用 `pandas.DataFrame.iloc()` 方法提取了第一列数据。接着,使用 `scipy.stats.norm.fit()` 函数计算了该数据的均值 `mu` 和标准差 `sigma`。然后,使用 `matplotlib.pyplot.hist()` 函数绘制了数据的直方图,并使用 `scipy.stats.norm.pdf()` 函数生成了正态分布的概率密度函数。最后,使用 `matplotlib.pyplot.plot()` 函数绘制了拟合曲线,并使用 `matplotlib.pyplot.show()` 函数显示图形。