我跑了以下一行:
np.random.multinomial(10, [1/5., 1/5., 1/5., 1/5., 1/5., 1/5.])
并生成输出
array([3, 4, 0, 0, 3, 0])
这意味着当我将6面骰子滚动10次时,上述输出表示特定面出现次数的频率计数。这里,第1侧出现3次,第2侧出现4次,依此类推。
我的问题是上述方法不应该抛出错误,因为骰子边的概率值总和为> 0。 1/0?我确信我在这里误解了一些东西,但却无法弄清楚是什么。
答案 0 :(得分:1)
文档说:
cacheName
这意味着最后一个元素的概率为0 运行这个:
"dict"
您将看到最后一个元素如何永不显示,概率确实为0
答案 1 :(得分:1)
实际上代码只会考虑到pvals总和为1.所以在这种情况下只有前五个总和。所以在你的数组中,无论你运行多少次,第6个元素都将为零。因此,如果你为所有6个元素提供1/3,它将执行就好像掷出3个骰子并且在输出数组中最后3个元素将为零。它不必显示错误。一旦总和达到一个就会停止而只是忽略其他人。这就是语法。 希望这会有所帮助。