NumPy 随机模块

NumPy random.choice() 函数从给定的一维数组生成随机样本并返回它。

语法

numpy.random.choice(a, size=None, replace=True, p=None) 

参数

a必填。 指定一个ndarray,从其元素生成随机样本。如果是 int,则生成随机样本,就像 a 是 np.arange(a)。
size可选。 指定输出形状。如果给定的形状是,例如,(m, n, k),则抽取 m * n * k 个样本。默认值为 None,在这种情况下返回单个值。
replace可选。 一个布尔值,用于指定样本是否有替换。
p可选。 指定与a中每个条目相关的概率。如果未给出,则示例假定在 a 中的所有条目上均匀分布。

返回值

返回生成的随机样本。

示例:

在下面的示例中,random.choice() 函数用于生成从给定列表中抽取的随机样本.

import numpy as np

MyList = [10, 20, 30, 40, 50, 60, 70, 80]
x = np.random.choice(MyList, (3,3))

#打印x
print(x) 

上述代码的输出将是:

[[60 80 60]
 [70 10 60]
 [50 20 60]] 

示例:

replace参数可以用于抽取带有替换的样本,如下例所示。

import numpy as np

MyList = [10, 20, 30, 40, 50, 60, 70, 80]
x = np.random.choice(MyList, (3,3), True)

#打印x
print(x) 

上述代码的输出将是:

[[20 30 40]
 [40 30 80]
 [80 40 50]] 

示例:

使用p参数,我们可以为输入数组或序列的每个条目分配概率。

import numpy as np

MyList = [10, 20, 30, 40, 50, 60]
prob = [0.5, 0.1, 0.1, 0.1 , 0.1, 0.1]
x = np.random.choice(MyList, (3,3), True, prob)

#打印x
print(x) 

上述代码的输出将是:

[[10 10 50]
 [10 10 60]
 [60 10 10]]