【问题标题】:Generate random numbers with a numerical distribution in given intervals生成在给定区间内具有数值分布的随机数
【发布时间】:2021-02-27 14:15:53
【问题描述】:

我有一个可以在给定间隔内生成随机数的文件

random.randint(0,30)

我想为某些区间分配一个分布,例如

0-9 发生的几率为 50%,10-19 发生的几率为 30%,20-29 的发生几率为 20%。

【问题讨论】:

标签: python python-3.x python-2.7 random


【解决方案1】:

以下将完成这项工作。它首先生成一个均匀分布的随机数以确定哪个区间,然后在该区间生成一个均匀分布的整数。

import numpy as np


interval = np.random.rand()
if interval < 0.5:
    final = np.random.randint(0, 10)
elif interval < 0.8:
    final = np.random.randint(10, 20)
else:
    final = np.random.randint(20, 30)

【讨论】:

    猜你喜欢
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 2015-05-18
    • 2011-04-14
    相关资源
    最近更新 更多