英文文档:np.random.choice()传送门
numpy.random.choice(a, size=None, replace=True, p=None)
a:一维的array或者一个整数
size:输出的元素,一维或者多维的array,多维的话用tuple指定其array的格式,如(2,3)表示输出2*3维的array
replace:输出的array中能否有重复的数字
p:a中每个元素出现的概率,注:概率和必须为1,p的格式必须和输入a的格式相同。若没指定p,则数组中每个元素出现的概率相同
例子:
a为整数或者一维array时
>>> np.random.choice(5,3)
array([1, 3, 4])
>>> np.random.choice([1,2,3,4,5],3,)
array([3, 5, 3])
size为整数或者tuple时
>>> np.random.choice(10,6)
array([4, 2, 0, 3, 7, 9])
>>> np.random.choice(10,(2,3))
array([[8, 4, 3],
[1, 5, 8]]) #输出为(2,3)维的array
replace为True或False时
>>> np.random.choice(10,5,replace=True)
array([6, 0, 3, 4, 6]) #有重复元素6
>>> np.random.choice(10,5,replace=False)
array([4, 8, 9, 2, 1]) #无重复元素
有没有指定p:
>>> np.random.choice(5,3,p=[0.1,0.2,0.4,0.1,0.2])
array([2, 4, 1])