小编MWH*_*MWH的帖子

如何生成随机数以满足python中的特定均值和中位数?

我想生成n个随机数,例如,n=200其中可能值的范围在2到40之间,平均值为12,中值为6.5.

我到处搜索,我找不到解决方案.我尝试了下面的脚本,它适用于20等小数字,对于大数字,它需要很长时间并返回结果.

n=200
x = np.random.randint(0,1,size=n) # initalisation only
while True:
        if x.mean() == 12 and np.median(x) == 6.5:
            break
        else:
            x=np.random.randint(2,40,size=n)
Run Code Online (Sandbox Code Playgroud)

任何人都可以通过改进这个来帮助我获得快速结果,即使n = 5000左右?

python random numpy normal-distribution

8
推荐指数
1
解决办法
3237
查看次数

标签 统计

normal-distribution ×1

numpy ×1

python ×1

random ×1