标准差的数学域错误

时间:2014-10-09 02:13:27

标签: list python-3.x

我在表格(列表清单)中计算Python中的标准差时遇到了麻烦。我能够获得人口'标准偏差,但是当我尝试除以样本标准差的n-1时,我得到一个数学域错误。这是我的代码:

# Row standard deviation
for i in range(ROWS):
    total = 0
    avg = 0
    sum2 = 0
    sum3 = 0
    stdDev = 0
    for j in range(COLUMNS):
        total = float(total + array[i][j])
        avg = total / len(array[0])
        sum2 = sum2 + (array[i][j])**2
        stdDev = sqrt((sum2 / (len(array[0])) - (avg*avg)))
    print(stdDev)

1 个答案:

答案 0 :(得分:0)

您正在使用负数的平方根,math无法处理。

>>> math.sqrt(-1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: math domain error