在numpy中忽略概率

时间:2016-10-14 10:10:51

标签: python arrays numpy

我正在尝试使用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数组的随机值。 我做错了吗?

1 个答案:

答案 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])