【问题标题】:estimated variance calculation with numpy cause an invalid value encountered error用 numpy 计算估计方差导致无效值遇到错误
【发布时间】:2020-03-30 20:19:15
【问题描述】:

当尝试根据样本数计算某些数据的样本均值时(首先针对 1 个样本,然后针对 2 个样本,依此类推...) 我遇到了这个问题:

/usr/local/lib/python3.6/dist-packages/numpy/core/fromnumeric.py:3584: RuntimeWarning: Degrees of freedom <= 0 for slice
  **kwargs)
/usr/local/lib/python3.6/dist-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars
  ret = ret.dtype.type(ret / rcount)

在数据数组上使用 numpy 函数“np.var()”时。

我唯一的功能是这个:

def estimate_var(lam, n):
    np.random.seed(7)
    data = np.random.exponential(scale=1/lam, size=n)
    new_data = [np.var(data[:index + 1], ddof=1) for index in range(len(data))]
    return new_data

(第 4 行导致问题)

【问题讨论】:

    标签: python numpy plotnine


    【解决方案1】:

    这不是错误,而是警告。您收到警告是因为您正在获取一个数组的方差 (np.var),该数组只有 1 个不存在的值。

    index=0 在您的列表理解开始时,您将采用data[:0+1] 的方差,这只是一个值。

    如果您想获取数据的方差,那么只需执行np.var(data)

    【讨论】:

      猜你喜欢
      • 2018-05-23
      • 1970-01-01
      • 2012-04-29
      • 2020-11-11
      • 1970-01-01
      • 2017-11-21
      • 1970-01-01
      • 2018-03-10
      • 1970-01-01
      相关资源
      最近更新 更多