代码之家  ›  专栏  ›  技术社区  ›  Jane Sully

创建以维度、平均值和方差为参数的numpy数组?

  •  0
  • Jane Sully  · 技术社区  · 6 年前

    如何创建以维度、平均值和方差为参数的numpy数组?我看到有一个 numpy.random.randn 允许用户指定维度的函数,但该函数假定平均值为0,方差为1。

    我同意平均值为0的部分,但我希望每次创建新的numpy数组时都能指定一个方差。

    谢谢你的帮助!

    2 回复  |  直到 6 年前
        1
  •  2
  •   jpp    6 年前

    你可能在找 numpy.random.normal . 例如:

    import numpy as np
    
    arr = np.random.normal(loc=1, scale=0.50, size=(500, 500))
    
    print(arr.mean())  # 0.9995707343806642
    print(arr.std())   # 0.5010967322495354
    

    在这里 loc 表示平均值和 scale 标准差,即方差的平方根。

    当然,你是 绘制示例 从一个分布,所以你不会有平均值为1.0或标准差为0.50,除非你有一个非常大的数组。

        2
  •  2
  •   yakobyd    6 年前

    从numpy文档( numpy.random.randn ):

    对于来自 N(\mu, \sigma^2) ,当mu是平均值,sigma是方差时(参见 Normal Distribution 使用方法:

    sigma * np.random.randn(d0, d1, ..., dn) + mu
    

    什么时候? (d0, d1, ..., dn) 是生成的数组的形状。