arr = [a,b]选择a,x%的时间

时间:2017-04-24 03:07:01

标签: python python-3.x numpy

我想编写一个具有以下要求的程序。

arr = ['a', 'b']

如何编写一个python程序,从a x%的时间选择arr。 (例如80%的时间)。

我不知道该怎么开始。请帮忙。

我知道random.choice(arr)。但它会随机选择我不能让它有偏见。

3 个答案:

答案 0 :(得分:6)

import numpy as np 

np.random.choice(['a', 'b'], p=(.8, .2))

答案 1 :(得分:2)

首先,将您的概率存储为浮点数。例如,80%将是

prob = 0.8

然后,检查它是否大于random()

arr[0] if random() < prob else arr[1]

请注意,这也适用于Python 2。

答案 2 :(得分:0)

random.choices(['a','b'],权重= [0.8,0.2],k = 2)