Python 中的 numpy.random()

2025年3月17日 | 阅读 10 分钟

random 是 NumPy 库中存在的一个模块。该模块包含用于生成随机数的函数。该模块包含一些简单的随机数据生成方法、一些排列和分布函数以及随机生成器函数。

random 模块中的所有函数如下所示

简单随机数据

有以下简单随机数据函数

1) p.random.rand(d0, d1, ..., dn)

此 random 模块函数用于以给定形状生成随机数或值。

示例

输出

array([[0.74710182, 0.13306399],
           [0.01463718, 0.47618842],
           [0.98980426, 0.48390004],
           [0.58661785, 0.62895758],
           [0.38432729, 0.90384119]])

2) np.random.randn(d0, d1, ..., dn)

此 random 模块函数从“标准正态”分布中返回一个样本。

示例

输出

array([[ 1.43327469, -0.02019121],
       [ 1.54626422,  1.05831067]])
b=np.random.randn()
b
-0.3080190768904835

3) np.random.randint(low[, high, size, dtype])

此 random 模块函数用于生成从包含 (low) 到排除 (high) 的随机整数。

示例

输出

array([1, 1, 1, 2, 0, 0, 0, 0, 0, 0])

4) np.random.random_integers(low[, high, size])

此 random 模块函数用于生成类型为 np.int 的随机整数,介于 low 和 high 之间。

示例

输出

2
<type 'numpy.int32'>
array([[1, 1],
           [2, 5],
           [1, 3]])

5) np.random.random_sample([size])

此 random 模块函数用于在半开区间 [0.0, 1.0) 中生成随机浮点数。

示例

输出

0.09250360565571492
<type 'float'>
array([0.34665418, 0.47027209, 0.75944969, 0.37991244, 0.14159746])

6) np.random.random([size])

此 random 模块函数用于在半开区间 [0.0, 1.0) 中生成随机浮点数。

示例

输出

0.008786953974334155
<type 'float'>
array([0.05530122, 0.59133394, 0.17258794, 0.6912388 , 0.33412534])

7) np.random.ranf([size])

此 random 模块函数用于在半开区间 [0.0, 1.0) 中生成随机浮点数。

示例

输出

0.2907792098474542
<type 'float'>
array([0.34084881, 0.07268237, 0.38161256, 0.46494681, 0.88071377])

8) np.random.sample([size])

此 random 模块函数用于在半开区间 [0.0, 1.0) 中生成随机浮点数。

示例

输出

0.012298209913766511
<type 'float'>
array([0.71878544, 0.11486169, 0.38189074, 0.14303308, 0.07217287])

9) np.random.choice(a[, size, replace, p])

此 random 模块函数用于从给定的 1 维数组生成随机样本。

示例

输出

array([0, 3, 4])
array([2, 2, 2], dtype=int64)

10) np.random.bytes(length)

此 random 模块函数用于生成随机字节。

示例

输出

'nQ\x08\x83\xf9\xde\x8a'

排列

以下是排列函数

1) np.random.shuffle()

此函数用于通过打乱其内容来就地修改序列。

示例

输出

array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
array([10,  3,  2,  4,  5,  8,  0,  9,  1, 11,  7,  6])

2) np.random.permutation()

此函数随机排列序列或返回排列后的范围。

示例

输出

array([ 8,  7,  3, 11,  6,  0,  9, 10,  2,  5,  4,  1])

分布

以下是排列函数

1) beta(a, b[, size])

此函数用于从 Beta 分布中提取样本。

示例

2) binomial(n, p[, size])

此函数用于从二项分布中提取样本。

示例

输出

array([6, 7, 7, 9, 3, 7, 8, 6, 6, 4])

3) chisquare(df[, size])

此函数用于从二项分布中提取样本。

示例

输出

array([6, 7, 7, 9, 3, 7, 8, 6, 6, 4])

4) dirichlet(alpha[, size])

此函数用于从 Dirichlet 分布中提取样本。

示例

输出

numpy.random in Python

5) exponential([scale, size])

此函数用于从指数分布中提取样本。

示例

6) f(dfnum, dfden[, size])

此函数用于从 F 分布中提取样本。

示例

输出

array([0.00264041, 0.04725478, 0.07140803, 0.19526217, 0.23979   ,
       0.24023478, 0.63141254, 0.95316446, 1.40281789, 1.68327507])

7) gamma(shape[, scale, size])

此函数用于从 Gamma 分布中提取样本

示例

numpy.random in Python

8) geometric(p[, size])

此函数用于从几何分布中提取样本。

示例

输出

3.

9) gumbel([loc, scale, size])

此函数用于从 Gumble 分布中提取样本。

示例

输出

numpy.random in Python

10) hypergeometric(ngood, nbad, nsample[, size])

此函数用于从超几何分布中提取样本。

示例

输出

(array([ 13.,   0.,   0.,   0.,   0., 163.,   0.,   0.,   0., 824.]), array([ 8. ,  8.2,  8.4,  8.6,  8.8,  9. ,  9.2,  9.4,  9.6,  9.8, 10. ]), <a list of 10 Patch objects>)

numpy.random in Python

11) laplace([loc, scale, size])

此函数用于从具有指定位置和比例的 Laplace 或双指数分布中提取样本。

示例

输出

array([-2.77127948, -1.46401453, -0.03723516, -1.61223942,  2.29590691,
        1.74297722,  1.49438411,  0.30325513, -0.15948891, -4.99669747])

12) logistic([loc, scale, size])

此函数用于从 logistic 分布中提取样本。

示例

输出

array([1.000e+00, 1.000e+00, 1.000e+00, 0.000e+00, 1.000e+00, 1.000e+00,
       1.000e+00, 5.000e+00, 7.000e+00, 1.100e+01, 1.800e+01, 3.500e+01,
       5.300e+01, 6.700e+01, 1.150e+02, 1.780e+02, 2.300e+02, 3.680e+02,
       4.910e+02, 6.400e+02, 8.250e+02, 9.100e+02, 9.750e+02, 1.039e+03,
       9.280e+02, 8.040e+02, 6.530e+02, 5.240e+02, 3.380e+02, 2.470e+02,
       1.650e+02, 1.150e+02, 8.500e+01, 6.400e+01, 3.300e+01, 1.600e+01,
       2.400e+01, 1.400e+01, 4.000e+00, 5.000e+00, 2.000e+00, 2.000e+00,
       1.000e+00, 1.000e+00, 0.000e+00, 1.000e+00, 0.000e+00, 0.000e+00,
       0.000e+00, 1.000e+00])
array([ 0.50643911,  0.91891814,  1.33139717,  1.7438762 ,  2.15635523,
        2.56883427,  2.9813133 ,  3.39379233,  3.80627136,  4.2187504 ,
        4.63122943,  5.04370846,  5.45618749,  5.86866652,  6.28114556,
        6.69362459,  7.10610362,  7.51858265,  7.93106169,  8.34354072,
        8.75601975,  9.16849878,  9.58097781,  9.99345685, 10.40593588,
       10.81841491, 11.23089394, 11.64337298, 12.05585201, 12.46833104,
       12.88081007, 13.2932891 , 13.70576814, 14.11824717, 14.5307262 ,
       14.94320523, 15.35568427, 15.7681633 , 16.18064233, 16.59312136,
       17.00560039, 17.41807943, 17.83055846, 18.24303749, 18.65551652,
       19.06799556, 19.48047459, 19.89295362, 20.30543265, 20.71791168,
       21.13039072])
<a list of 50 Patch objects>

numpy.random in Python

13) lognormal([mean, sigma, size])

此函数用于从对数正态分布中提取样本。

示例

输出

numpy.random in Python

14) logseries(p[, size])

此函数用于从对数分布中提取样本。

示例

输出

numpy.random in Python

15) multinomial(n, pvals[, size])

此函数用于从多项分布中提取样本。

示例

输出

array([[4, 2, 5, 5, 3, 1]])

16) multivariate_normal(mean, cov[, size, ...)

此函数用于从多元正态分布中提取样本。

示例

输出

numpy.random in Python

17) negative_binomial(n, p[, size])

此函数用于从负二项分布中提取样本。

示例

输出

1 wells drilled, probability of one success = 0
2 wells drilled, probability of one success = 0
3 wells drilled, probability of one success = 0
4 wells drilled, probability of one success = 0
5 wells drilled, probability of one success = 0
6 wells drilled, probability of one success = 0
7 wells drilled, probability of one success = 0
8 wells drilled, probability of one success = 0
9 wells drilled, probability of one success = 0
10 wells drilled, probability of one success = 0

18) noncentral_chisquare(df, nonc[, size])

此函数用于从非中心卡方分布中提取样本。

示例

输出

numpy.random in Python

19) normal([loc, scale, size])

此函数用于从正态分布中提取样本。

示例

输出

numpy.random in Python

20) pareto(a[, size])

此函数用于从具有指定形状的 Lomax 或 Pareto II 中提取样本。

示例

输出

numpy.random in Python

21) power(a[, size])

此函数用于从具有正指数 a-1 的幂分布中提取 [0, 1] 中的样本。

示例

输出

numpy.random in Python

22) rayleigh([scale, size])

此函数用于从 Rayleigh 分布中提取样本。

示例

输出

0.087300000000000003

numpy.random in Python

23) standard_cauchy([size])

此函数用于从 mode=0 的标准 Cauchy 分布中提取样本。

示例

输出

numpy.random in Python

24) standard_exponential([size])

此函数用于从标准指数分布中提取样本。

示例

输出

array([[0.53857931, 0.181262  , 0.20478701, ..., 3.66232881, 1.83882709,
        1.77963295],
       [0.65163973, 1.40001955, 0.7525986 , ..., 0.76516523, 0.8400617 ,
        0.88551011]])

25) standard_gamma([size])

此函数用于从标准 Gamma 分布中提取样本。

示例

输出

numpy.random in Python

26) standard_normal([size])

此函数用于从标准正态分布中提取样本。

示例

输出

array([-3.14907597,  0.95366265, -1.20100026, ...,  3.47180222,
        0.9608679 ,  0.0774319 ])
array([[[ 1.55635461, -1.29541713],
        [-1.50534663, -0.02829194],
        [ 1.03949348, -0.26128132],
        [ 1.51921798,  0.82136178]],

       [[-0.4011052 , -0.52458858],
        [-1.31803814,  0.37415379],
        [-0.67077365,  0.97447018],
        [-0.20212115,  0.67840888]],

       [[ 1.86183474,  0.19946562],
        [-0.07376021,  0.84599701],
        [-0.84341386,  0.32081667],
        [-3.32016062, -1.19029818]]])

27) standard_t(df[, size])

此函数用于从具有 df 自由度的标准 Student's 分布中提取样本。

示例

输出

6677.5
1174.1101831694598
0.00864

numpy.random in Python

28) triangular(left, mode, right[, size])

此函数用于从区间上的三角分布中提取样本。

示例

输出

numpy.random in Python

29) uniform([low, high, size])

此函数用于从均匀分布中提取样本。

示例

输出

numpy.random in Python

30) vonmises(m1, m2[, size])

此函数用于从 von Mises 分布中提取样本。

示例

输出

numpy.random in Python

31) wald(mean, scale[, size])

此函数用于从 Wald 或逆高斯分布中提取样本。

示例

输出

numpy.random in Python

32) weibull(a[, size])

此函数用于从 Weibull 分布中提取样本。

示例

输出

numpy.random in Python

33) zipf(a[, size])

此函数用于从 Zipf 分布中提取样本。

示例

输出

numpy.random in Python
下一个主题numpy.zeros()