python 正态分布的概率密度函数

  • Post category:Python

Python的scipy库中提供了关于正态分布的概率密度函数(PDF)计算方法。下面是Python中正态分布PDF的完整攻略。

一、导入库

需要导入scipy库中stats模块

from scipy.stats import norm

二、定义正态分布PDF计算函数

def norm_pdf(x_axis, mu, sigma):
    return norm(mu, sigma).pdf(x_axis)

其中,x_axis是自变量(x轴上的值),mu为均值,sigma为标准差,我们可以在调用该函数时传入对应的参数来计算正态分布的概率密度。

三、画图表示概率密度函数

接下来,我们可以使用matplotlib库来画出正态分布的概率密度函数。

import matplotlib.pyplot as plt

x_axis = np.arange(-10, 10, .001)
y_axis = norm_pdf(x_axis, 0, 1)

plt.plot(x_axis, y_axis)
plt.xlabel('Values of x-axis')
plt.ylabel('Values of y-axis')
plt.title('Normal Distribution PDF')
plt.show()

上面的代码,我们先生成自变量的范围(从-10到10,每隔0.001一个值),然后用我们定义的函数计算出对应的概率密度,最后利用matplotlib库绘制出对应的图形。

四、计算正态分布概率

除了绘制概率密度函数,我们还可以使用norm.cdf函数来计算正态分布中的概率。以下是一个例子:

from scipy.stats import norm

# 计算正态分布中的概率
p_1 = norm.cdf(0, loc=2, scale=3)
p_2 = norm.cdf(-1, loc=2, scale=3)

# 输出结果
print(f'Prob(x <= 0): {p_1:.4f}')
print(f'Prob(x <= -1): {p_2:.4f}')

上面的代码中,我们以均值为2,标准差为3的正态分布为例计算了两个概率:Prob(x <= 0)Prob(x <= -1),其中cdf的第一个参数为计算的上限值,第二个和第三个参数分别表示均值和标准差。最后输出计算结果。

以上就是Python中正态分布PDF的完整攻略,包括了如何导入库、定义计算函数、绘图和计算概率的方法。