numpy中的random函数
1:rand
rand(d0, d1, ..., dn)
Random values in a given shape.
Create an array of the given shape and populate it with
random samples from a uniform distribution
over ``[0, 1)``.
数字区间:[0,1)
分布:均匀分布
形状:[d0,d1,...,dn]
from numpy import random print(random.rand(3,4)) '''result [[0.77647254 0.87714719 0.55351719 0.31369393] [0.38578822 0.30977858 0.31366171 0.26879944] [0.22720179 0.26118622 0.08420711 0.70508725]] '''
2:randint
randint(low, high=None, size=None, dtype='l')
Return random integers from `low` (inclusive) to `high` (exclusive).
Return random integers from the "discrete uniform" distribution of
the specified dtype in the "half-open" interval [`low`, `high`). If
`high` is None (the default), then results are from [0, `low`).
数字区间:[low,high)
分布:离散均匀分布
形状:size
from numpy import random print(random.randint(1,10, size=(2,3))) '''result [[3 1 6] [9 1 7]] '''
3:randn
randn(d0, d1, ..., dn)
Return a sample (or samples) from the "standard normal" distribution.
If positive, int_like or int-convertible arguments are provided,
`randn` generates an array of shape ``(d0, d1, ..., dn)``, filled
with random floats sampled from a univariate "normal" (Gaussian)
distribution of mean 0 and variance 1 (if any of the :math:`d_i` are
floats, they are first converted to integers by truncation). A single
float randomly sampled from the distribution is returned if no
argument is provided.
This is a convenience function. If you want an interface that takes a
tuple as the first argument, use `numpy.random.standard_normal` instead.
数字区间:(负无穷,正无穷)
分布:标准正态分布
形状:[d0,d1,...,dn]
from numpy import random print(random.randn(3,2)) '''result [[ 0.0456255 0.64865066] [-0.40588788 0.0428462 ] [ 0.46260185 -0.05147188]] '''
4: ranf = random = sample = random_sample
random_sample(size=None)
Return random floats in the half-open interval [0.0, 1.0).
Results are from the "continuous uniform" distribution over the
stated interval. To sample :math:`Unif[a, b), b > a` multiply
the output of `random_sample` by `(b-a)` and add `a`::
(b - a) * random_sample() + a
数字区间:[0,1)
分布:连续均匀分布
形状:size
注意:ranf、random、sample、random_sample 都是使用的random_sample方法
要想得到a到b之间的随机数,使用 (b - a) * random_sample() + a
from numpy import random print(random.random()) #result 0.7679449887445754 print(random.random(size=(2,2))) '''result [[0.05636011 0.46029369] [0.26693099 0.34289541]] '''
5:normal
normal(loc=0.0, scale=1.0, size=None)
Draw random samples from a normal (Gaussian) distribution.
The probability density function of the normal distribution, first
derived by De Moivre and 200 years later by both Gauss and Laplace
independently [2]_, is often called the bell curve because of
its characteristic shape (see the example below).
The normal distributions occurs often in nature. For example, it
describes the commonly occurring distribution of samples influenced
by a large number of tiny, random disturbances, each with its own
unique distribution [2]_.
数字区间:(负无穷,正无穷)
分布:均值为loc,标准差为scale的正态分布
形状:size
from numpy import random print(random.normal(0.0, 0.01, [2, 3])) '''result [[-0.01117429 0.00404763 0.01438945] [ 0.00550622 -0.01674051 -0.00411558]] '''