python求概率密度函数_如何在Python中计算PDF(概率密度函数)?

I have the following code below that prints the PDF graph for a particular mean and standard deviation.

Now I need to find the actual probability, of a particular value. So for example if my mean is 0, and my value is 0, my probability is 1. This is usually done by calculating the area under the curve. Similar to this:

I am not sure how to approach this problem

import numpy as np

import matplotlib

import matplotlib.pyplot as plt

def normal(power, mean, std, val):

a = 1/(np.sqrt(2*np.pi)*std)

diff = np.abs(np.power(val-mean, power))

b = np.exp(-(diff)/(2*std*std))

return a*b

pdf_array = []

array = np.arange(-2,2,0.1)

print array

for i in array:

print i

pdf = normal(2, 0, 0.1, i)

print pdf

pdf_array.append(pdf)

plt.plot(array, pdf_array)

plt.ylabel('some numbers')

plt.axis([-2, 2, 0, 5])

plt.show()

print

解决方案

Unless you have a reason to implement this yourself. All these functions are available in scipy.stats.norm

I think you asking for the cdf, then use this code:

from scipy.stats import norm

print(norm.cdf(x, mean, std))

你可能感兴趣的:(python求概率密度函数)