如何生成具有特定大小和均值的随机 (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”区间 [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
如果你想坚持使用标准库,你可以使用随机库
import random
import statistics
example = [random.randint(0, 4) for _ in range(1000)]
print(statistics.mean(example))
我任意 selected 0 和 4 作为传递给 randint 的范围。您可以 select 其他范围,只要它们以 2 为中心即可。
我需要生成 1000 个样本 (int),平均值为 2。 您认为 python 中已经存在这样的功能吗?
NumPy 的 random.randint(low, high=None, size=None, dtype=int)
生成“来自指定数据类型在“half-open”区间 [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
如果你想坚持使用标准库,你可以使用随机库
import random
import statistics
example = [random.randint(0, 4) for _ in range(1000)]
print(statistics.mean(example))
我任意 selected 0 和 4 作为传递给 randint 的范围。您可以 select 其他范围,只要它们以 2 为中心即可。