The Poisson distribution describes the probability of obtaining *k* successes during a given time interval.

If a random variable *X* follows a Poisson distribution, then the probability that *X* = *k* successes can be found by the following formula:

**P(X=k) = λ ^{k} * e^{– λ} / k!**

where:

**λ:**mean number of successes that occur during a specific interval**k:**number of successes**e:**a constant equal to approximately 2.71828

This tutorial explains how to use the Poisson distribution in Python.

**How to Generate a Poisson Distribution**

You can use the **poisson.rvs(mu, size)** function to generate random values from a Poisson distribution with a specific mean value and sample size:

from scipy.stats import poisson #generate random values from Poisson distribution with mean=3 and sample size=10 poisson.rvs(mu=3, size=10) array([2, 2, 2, 0, 7, 2, 1, 2, 5, 5])

**How to Calculate Probabilities Using a Poisson Distribution**

You can use the **poisson.pmf(k, mu)** and **poisson.cdf(k, mu)** functions to calculate probabilities related to the Poisson distribution.

**Example 1: Probability Equal to Some Value**

A store sells 3 apples per day on average. What is the probability that they will sell 5 apples on a given day?

from scipy.stats import poisson #calculate probability poisson.pmf(k=5, mu=3) 0.100819

The probability that the store sells 5 apples in a given day is **0.100819**.

**Example 2: Probability Less than Some Value**

A certain store sells seven footballs per day on average. What is the probability that this store sells four or less footballs in a given day?

from scipy.stats import poisson #calculate probability poisson.cdf(k=4, mu=7) 0.172992

The probability that the store sells four or less footballs in a given day is **0.172992**.

**Example 3: Probability Greater than Some Value**

A certain store sells 15 cans of tuna per day on average. What is the probability that this store sells more than 20 cans of tuna in a given day?

from scipy.stats import poisson #calculate probability 1-poisson.cdf(k=20, mu=15) 0.082971

The probability that the store sells more than 20 cans of tuna in a given day is **0.082971**.

**How to Plot a Poisson Distribution**

You can use the following syntax to plot a Poisson distribution with a given mean:

from scipy.stats import poisson import matplotlib.pyplot as plt #generate Poisson distribution with sample size 10000 x = poisson.rvs(mu=3, size=10000) #create plot of Poisson distribution plt.hist(x, density=True, edgecolor='black')

**Additional Resources**

An Introduction to the Poisson Distribution

5 Real-Life Examples of the Poisson Distribution

Online Poisson Distribution Calculator