如何在没有导入的情况下计算方差和标准

时间:2016-12-02 11:03:33

标签: python python-3.x variance

我必须计算python中的均值,方差和std。

这是我的代码:

def mean(first_data_values):

    return sum(first_data_values) / len(first_data_values)

def variance(values):

    meanval = mean(values)
    return sum((values[i]-meanval) ** 2 for i in values)/len(values)

def std(values):

    return (variance(values)) ** (1/2)

所以我得到了错误的结果。知道什么是错的吗?

1 个答案:

答案 0 :(得分:1)

错误在于以下行:

return sum((values[i]-meanval) ** 2 for i in values)/len(values)

i逐个获取values中每个元素的值。然后,您将其用作values[i]中的索引,但它应该只是i

因此:

return sum((i-meanval) ** 2 for i in values)/len(values)

return mean([(i-meanval) ** 2 for i in values])