自动在Numpy中生成具有非均匀分布的随机概率

时间:2020-07-21 01:18:58

标签: python numpy

Numpy中,我们可以使用np.random.choice(N, data.shape[0], p=[0.6, 0.2, 0.1, 0.05, 0.05])随机生成随机样本。当N的数量较少时,我可以手动填充p。但是,当N较大(例如N = 50或N = 100)时,如何自动生成具有这种不均匀分布的p,例如,概率从左到右减小,反之亦然?

据我所知,以下方法可以自动生成p,但结果似乎仍然是均匀分布。

values = [np.random.rand() for _ in range(N)]
p = [v/sum(values) for v in values]

如何自动获得这种p=[0.6, 0.2, 0.1, 0.05, 0.05]

0 个答案:

没有答案