numpy.random.exponential(scale=1.0, size=None)

Draw samples from an exponential distribution.

Its probability density function is

f(x; \frac{1}{\beta}) = \frac{1}{\beta} \exp(-\frac{x}{\beta}),

for x > 0 and 0 elsewhere. \beta is the scale parameter, which is the inverse of the rate parameter \lambda = 1/\beta. The rate parameter is an alternative, widely used parameterization of the exponential distribution [3].

The exponential distribution is a continuous analogue of the geometric distribution. It describes many common situations, such as the size of raindrops measured over many rainstorms [1], or the time between page requests to Wikipedia [2].

scale : float or array_like of floats

The scale parameter, \beta = 1/\lambda.

size : int or tuple of ints, optional

Output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn. If size is None (default), a single value is returned if scale is a scalar. Otherwise, np.array(scale).size samples are drawn.

out : ndarray or scalar

Drawn samples from the parameterized exponential distribution.


[1](1, 2) Peyton Z. Peebles Jr., “Probability, Random Variables and Random Signal Principles”, 4th ed, 2001, p. 57.
[2](1, 2) Wikipedia, “Poisson process”,
[3](1, 2) Wikipedia, “Exponential distribution”,

Previous topic


Next topic