python 概率密度分布图
时间: 2023-11-09 07:00:05 浏览: 43
要画出 Python 的概率密度分布图,可以使用 scipy 库中的 stats 模块和 matplotlib 库。具体步骤如下:
1. 生成样本数据,可以使用 numpy 库中的 random 模块生成随机数。
2. 根据样本数据计算概率密度函数,可以使用 scipy 库中的 stats 模块中的 GaussianKDE 类。
3. 使用 matplotlib 库中的 pyplot 模块画出概率密度分布图。
以下是示例代码:
```python
import numpy as np
from scipy.stats import gaussian_kde
import matplotlib.pyplot as plt
# 生成样本数据
data = np.random.normal(size=1000)
# 计算概率密度函数
kde = gaussian_kde(data)
# 生成横坐标
x = np.linspace(-4, 4, 100)
# 画出概率密度分布图
plt.plot(x, kde(x))
plt.show()
```
相关问题
利用python作出概率密度分布情况
要利用 Python 绘制概率密度分布,需要使用一些科学计算库,例如 NumPy 和 Matplotlib。下面是一个简单的例子:
```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()
```
上述代码生成了一个均值为 0,标准差为 0.1 的正态分布随机数,并绘制了其概率密度分布图。你可以根据需要修改均值、标准差和分布类型等参数来生成不同的概率密度分布图。
python画概率分布图
Python可以使用各种库来绘制概率分布图,例如matplotlib和seaborn。下面是一个使用matplotlib库绘制概率密度函数(PDF)和累积分布函数(CDF)图的例子:
首先,我们需要导入所需的库和生成随机数的NumPy库。然后,我们可以使用NumPy生成一些随机数样本作为数据集。
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数样本
data = np.random.normal(0, 1, 1000) # 正态分布样本
# 绘制概率密度函数(PDF)图
plt.hist(data, bins=30, density=True, alpha=0.7)
plt.xlabel('Value')
plt.ylabel('Probability Density')
plt.title('Probability Density Function')
# 绘制累积分布函数(CDF)图
sorted_data = np.sort(data)
cdf = np.arange(1, len(data) + 1) / len(data)
plt.figure()
plt.plot(sorted_data, cdf)
plt.xlabel('Value')
plt.ylabel('Cumulative Probability')
plt.title('Cumulative Distribution Function')
# 显示图形
plt.show()
```
上述代码中,我们使用了`np.random.normal()`函数生成了1000个服从均值为0,标准差为1的正态分布样本。`plt.hist()`函数用于绘制直方图,参数`bins`指定直方图的柱数,`density`参数设为True时,表示绘制的是概率密度函数。`plt.plot()`函数用于绘制累积分布函数(CDF),其中将数据集排序后作为X轴,概率作为Y轴。
最后,我们使用`plt.show()`函数显示图形。