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 default_rng() instance instead; please see the Quick Start.

Parameters
sizeint 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
outfloat 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.

Generator.standard_normal

which should be used for new code.

Notes

For random samples from \(N(\mu, \sigma^2)\), 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 \(N(3, 6.25)\):

>>> 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