【问题标题】:Generate random bytearray from a distribution从分布生成随机字节数组
【发布时间】:2020-01-04 11:58:37
【问题描述】:

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

据文档所述,我使用了numpy.random.bytes(...),它会生成 random 字节,我认为这些字节是从均匀分布中采样的。但是,我希望基于 numpy 的 sn-p 从可能列出的任何指定分布中生成指定数量的字节 numpy sampling distributions

【问题讨论】:

标签: python numpy random-data


【解决方案1】:

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

例如,围绕中点生成正态(高斯)分布:

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

考虑到并非所有随机分布都适合用 0-255 整数系列表示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 2017-05-10
    • 2011-03-31
    • 2023-03-16
    • 2014-07-16
    • 1970-01-01
    相关资源
    最近更新 更多