我正在尝试使用numpy库从分布中对一个字符进行采样,但它似乎忽略了我在输入中给出的概率。 我有一个概率数组,只是为了测试我设置为
vec_p=[0,0,1,0,0]
和一个字符数组
vec_c=[a,b,c,d,e]
如果我这样做
numpy.random.choice(vec_c,10,vec_p)
我希望得到
cccccccccc
因为其他概率都是零,但它只是给了我忽略vec_p数组的随机值。 我做错了吗?
答案 0 :(得分:2)
将参数作为关键字参数传递会得到正确的结果:
>>> import numpy as np
>>> vec_p = [0,0,1,0,0]
>>> num = np.arange(5)
>>> np.random.choice(num, size=10, p=vec_p)
array([2, 2, 2, 2, 2, 2, 2, 2, 2, 2])