【发布时间】:2013-11-05 00:32:00
【问题描述】:
生成随机数的零和具有特定比例的零的有效方法(可能使用 Matlab 术语进行矢量化)是什么?特别是 Numpy?
由于我的情况是 1/3 的特殊情况,我的代码是:
import numpy as np
a=np.mod(np.multiply(np.random.randomintegers(0,2,size)),3)
但是至少对于 K 和 N 是自然数的K/N 的情况,是否有任何内置函数可以更有效地处理这个问题?
【问题讨论】:
-
您需要比例完全为给定值,还是只是样本的预期比例?
-
另外,当
size不能被 3 整除时,1/3 的情况会发生什么?例外?圆形/地板/截断?加权随机回合(所以 10 有 3 的 2/3 机会和 4 的 1/3 机会)? -
@WarrenWeckesser,这是我的预期比例。我希望你没有删除你的答案,所以我会接受它。
-
@Naji:我恢复了我的答案。如果你需要精确的比例,那这个方法就行不通了。
-
@Naji:你想要什么?我希望它产生一万亿美元,而它给我的只是一个数组。我想我还不够相信。 ;)
标签: python arrays random numpy random-sample