Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

How to calculate probability in a normal distribution given mean and standard deviation in Python?

  • Last Updated : 25 Feb, 2021

A normal distribution is a type of continuous probability distribution for a real-valued random variable. It is based on mean and standard deviation. The probability distribution function or PDF computes the likelihood of a single point in the distribution. The general formula to calculate PDF for the normal distribution is

 f_X(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{\frac{-1}{2}\big( \frac{x-\mu}{\sigma} \big)^2}\\

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course


  • µ is the mean
  • σ is the standard deviation of the distribution
  • x is the number

for which PDF is to be calculated.. We can calculate probability in a normal distribution using SciPy module.


pip install scipy

Function used:

We will use scipy.stats.norm.pdf() method to calculate the probability distribution for a number x.

Syntax: scipy.stats.norm.pdf(x, loc=None, scale=None)


  • x : array-like object, for which probability is to be calculated.
  • loc : optional (default=0), represents mean of the distribution.
  • scale : optional (default=1), represents standard deviation of the distribution.

Returns: A probability density function calculated at x as a ndarray object.

In scipy the functions used to calculate mean and standard deviation are mean() and std() respectively.

  • For mean



  • For standard deviation




  • Import module
  • Create necessary data
  • Supply the function with required values
  • Display value



from scipy.stats import norm
import numpy as np
data_start = -5
data_end = 5
data_points = 11
data = np.linspace(data_start, data_end, data_points)
mean = np.mean(data)
std = np.std(data)
probability_pdf = norm.pdf(3, loc=mean, scale=std)



My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!