Skip to main content
`Ctrl`+`K`

# numpy.random.beta

random.beta(a, b, size=None)

  Draw samples from a Beta distribution.

  The Beta distribution is a special case of the Dirichlet distribution, and is related to the Gamma distribution. It has the probability distribution function

  \[f(x; a,b) = \frac{1}{B(\alpha, \beta)} x^{\alpha - 1} (1 - x)^{\beta - 1},\]

  where the normalization, B, is the beta function,

  \[B(\alpha, \beta) = \int_0^1 t^{\alpha - 1} (1 - t)^{\beta - 1} dt.\]

  It is often seen in Bayesian inference and order statistics.

  Note

  New code should use the `beta` method of a `Generator` instance instead; please see the Quick start.

  Parameters:
    a float or array_like of floats

      Alpha, positive (>0).

    b float or array_like of floats

      Beta, positive (>0).

    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 `a` and `b` are both scalars. Otherwise, `np.broadcast(a, b).size` samples are drawn.

  Returns:
    out ndarray or scalar

      Drawn samples from the parameterized beta distribution.

  See also

  `random.Generator.beta`

    which should be used for new code.