Skip to main content
`Ctrl`+`K`

# numpy.random.standard_normal

random.standard_normal(size=None)

  Draw samples from a standard Normal distribution (mean=0, stdev=1).

  Note

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

  Parameters:
    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. Default is None, in which case a single value is returned.

  Returns:
    out float or ndarray

      A floating-point array of shape `size` of drawn samples, or a single sample if `size` was not specified.

  See also

  `normal`

    Equivalent function with additional `loc` and `scale` arguments for setting the mean and standard deviation.

  `random.Generator.standard_normal`

    which should be used for new code.

  Notes

  For random samples from the normal distribution with mean `mu` and standard deviation `sigma`, use one of:

      mu + sigma * np.random.standard_normal(size=...)
      np.random.normal(mu, sigma, size=...)

  Examples

      >>> np.random.standard_normal()
      2.1923875335537315 #random

      >>> s = np.random.standard_normal(8000)
      >>> s
      array([ 0.6888893 ,  0.78096262, -0.89086505, ...,  0.49876311,  # random
             -0.38672696, -0.4685006 ])                                # random
      >>> s.shape
      (8000,)
      >>> s = np.random.standard_normal(size=(3, 4, 2))
      >>> s.shape
      (3, 4, 2)

  Two-by-four array of samples from the normal distribution with mean 3 and standard deviation 2.5:

      >>> 3 + 2.5 * np.random.standard_normal(size=(2, 4))
      array([[-4.49401501,  4.00950034, -1.81814867,  7.29718677],   # random
             [ 0.39924804,  4.68456316,  4.99394529,  4.84057254]])  # random