从 numpy.random.multinomial 获取随机索引数组

Get randomized array of indeces from numpy.random.multinomial

考虑以下提取 20 次骰子抽取的文档示例

>>> np.random.multinomial(20, [1/6.]*6, size=1)
array([[4, 1, 7, 5, 2, 1]])

我要的输出是一个20维的数组,采样结果的索引为:

[0,0,0,0,1,2,2,2,2,2,2,2,3,3,3,3,3,4,4,5]

但它们不应该被排序。 IE。我希望多项式的输出为 "look like" np.random.uniform 或 np.random.normal 的输出,即随机抽取的数组。

你可以用 random.choice 得到这样的结果。它以相等的概率取值 0 到 5 的 20 个样本。您还可以将参数p作为数组中每个元素的概率传递给选择函数

np.random.choice(6, 20)