从分布生成随机字节数组

时间:2019-08-31 17:17:11

标签: python numpy random-data

我正在寻找一种生成从指定基础分布中采样的随机字节的方法。例如从具有给定均值和方差的正态分布生成的字节,从具有指定lambda的泊松分布生成的字节,等等。

在文档中,我已经使用numpy.random.bytes(...),它会生成 random 个字节,我认为这些字节是从统一分发中采样的。但是,我希望基于numpy的代码段可以从numpy sampling distributions

中列出的任何指定发行版中生成指定数量的字节

1 个答案:

答案 0 :(得分:1)

生成[0,256]范围内的随机值,或将它们归一化到该范围内(通过乘法,减法或加法),然后将结果截断为uint8整数。然后可以将该结果转换为字节。

例如,在中点附近产生正态(高斯)分布:

values = np.random.normal(128, 35, size=32)
as_bytes = values.astype(np.uint8).tobytes()

请注意,并非所有随机分布都适合用一系列0-255整数表示。