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