Skip to main content
All functions on this page are accessed via the np.random namespace and use the global MT19937 generator. The same distributions are also available on Generator instances (see Generator API).
As of v1.2.0, all distribution functions now produce bit-for-bit identical output to NumPy given the same seed. This applies to every distribution on this page — exponential, gamma, beta, chi-square, poisson, binomial, and all others — thanks to the Zig/WASM rewrite of the random module.

Continuous Distributions

uniform

Draw samples from a uniform distribution over [low, high).
Returns: NDArray | number — Samples from the uniform distribution.

normal

Draw samples from a normal (Gaussian) distribution.
Returns: NDArray | number — Samples from the normal distribution.

standard_normal

Draw samples from the standard normal distribution (mean=0, std=1). Equivalent to normal(0, 1, size).
Returns: NDArray | number — Standard normal samples.

exponential

Draw samples from an exponential distribution.
Returns: NDArray | number — Exponential samples.

standard_exponential

Draw samples from the standard exponential distribution (scale=1). Equivalent to exponential(1, size).
Returns: NDArray | number — Standard exponential samples.

gamma

Draw samples from a Gamma distribution. Uses Marsaglia and Tsang’s method.
Returns: NDArray | number — Gamma-distributed samples.

standard_gamma

Draw samples from the standard Gamma distribution (scale=1).
Returns: NDArray | number — Standard gamma samples.

beta

Draw samples from a Beta distribution.
Returns: NDArray | number — Beta-distributed samples in [0, 1].

chisquare

Draw samples from a chi-square distribution. Internally uses gamma(df/2, 2).
Returns: NDArray | number — Chi-square samples.

noncentral_chisquare

Draw samples from a noncentral chi-square distribution.
Returns: NDArray | number — Noncentral chi-square samples.

f

Draw samples from an F distribution.
Returns: NDArray | number — F-distributed samples.

noncentral_f

Draw samples from a noncentral F distribution.
Returns: NDArray | number — Noncentral F samples.

standard_cauchy

Draw samples from a standard Cauchy distribution (location=0, scale=1).
Returns: NDArray | number — Cauchy samples.

standard_t

Draw samples from a standard Student’s t distribution.
Returns: NDArray | number — Student’s t samples.

laplace

Draw samples from a Laplace (double exponential) distribution.
Returns: NDArray | number — Laplace samples.

logistic

Draw samples from a logistic distribution.
Returns: NDArray | number — Logistic samples.

lognormal

Draw samples from a log-normal distribution. If X ~ Normal(mean, sigma), then exp(X) ~ LogNormal.
Returns: NDArray | number — Log-normal samples.

gumbel

Draw samples from a Gumbel distribution.
Returns: NDArray | number — Gumbel samples.

pareto

Draw samples from a Pareto II (Lomax) distribution.
Returns: NDArray | number — Pareto samples.

power

Draw samples from a power distribution with positive exponent a - 1 over [0, 1].
Returns: NDArray | number — Power-distributed samples in [0, 1].

rayleigh

Draw samples from a Rayleigh distribution.
Returns: NDArray | number — Rayleigh samples.

triangular

Draw samples from a triangular distribution over [left, right] with the given mode.
Returns: NDArray | number — Triangular samples.

wald

Draw samples from a Wald (inverse Gaussian) distribution.
Returns: NDArray | number — Wald samples.

weibull

Draw samples from a Weibull distribution.
Returns: NDArray | number — Weibull samples.

vonmises

Draw samples from a von Mises distribution (circular normal) on the interval [-pi, pi].
Returns: NDArray | number — Von Mises samples in [-pi, pi].

Discrete Distributions

poisson

Draw samples from a Poisson distribution.
Returns: NDArray | number — Poisson samples (non-negative integers).

binomial

Draw samples from a binomial distribution.
Returns: NDArray | number — Binomial samples.

geometric

Draw samples from a geometric distribution. Returns the number of trials needed to get the first success.
Returns: NDArray | number — Geometric samples (positive integers).

hypergeometric

Draw samples from a hypergeometric distribution. Models drawing nsample items without replacement from a population containing ngood successes and nbad failures.
Returns: NDArray | number — Number of good items in each sample.

logseries

Draw samples from a logarithmic series distribution.
Returns: NDArray | number — Log-series samples (positive integers).

negative_binomial

Draw samples from a negative binomial distribution. Models the number of failures before n successes.
Returns: NDArray | number — Negative binomial samples (non-negative integers).

zipf

Draw samples from a Zipf distribution.
Returns: NDArray | number — Zipf samples (positive integers).

Multivariate Distributions

multinomial

Draw samples from a multinomial distribution.
Returns: NDArray — Array of shape [...size, len(pvals)] with integer counts.

multivariate_normal

Draw samples from a multivariate normal distribution.
Returns: NDArray — Array of shape [...size, N].

dirichlet

Draw samples from a Dirichlet distribution. Each sample is a probability vector that sums to 1.
Returns: NDArray — Array of shape [...size, len(alpha)], where each row sums to 1.