繁体   English   中英

如何生成具有特定大小和均值的随机 (int) 值?

[英]How can I generate random (int) values with specific size and mean?

我需要生成 1000 个样本(int),平均为 2。你认为这样的 function 已经存在于 python 中了吗?

如果你想坚持使用标准库,你可以使用随机库

import random
import statistics

example = [random.randint(0, 4) for _ in range(1000)]
print(statistics.mean(example))

我任意选择 0 和 4 作为传递给 randint 的范围。 您可以 select 其他范围,只要它们以 2 为中心。

NumPy 的random.randint(low, high=None, size=None, dtype=int)在“半开”区间 [ low , high ) 中生成“来自指定数据类型的‘离散均匀’分布的随机整数”。

因此,要生成均值为 2 的随机整数,只需确保您指定的区间以 2 为中心。

>>> import numpy as np
>>> np.random.randint(0,5,10000000).mean()
1.999827
>>> np.random.randint(-10,15,10000000).mean()
2.000426

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM