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

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

我需要生成 1000 个样本 (int),平均值为 2。 您认为 python 中已经存在这样的功能吗?

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

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

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

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

import random
import statistics

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

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