问:将步长设置为 0,有 20% 的几率
方法1
#seed set at 123
abc=(1,2,3,4,5)
#as 1 has 20% chance of being picked from the list..
if np.random.choice(abc)==1:
step = 0
else step=100
方法2
#seed set at 123
if np.random.rand() <= 0.2 :
step = 0
else step=100
哪一个是正确的?
这两种方法应该给出相同的结果。 您可以通过计算 step=0 的情况的平均百分比来测试它,并多次重复计算,例如 10000000 次:
np.random.seed(123)
print(np.mean(np.random.rand(10000000)<0.2))
print(np.mean(np.random.choice((1,2,3,4,5), 10000000)==1))
结果非常接近 20%:
0.1999137
0.1999221