我是python的新手,我需要在列表列表中查找平均值,方差和均值的帮助。我有一个这样的列表列表:
allgroups = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
并且我能够找到平均值和方差,但是对于总体平均值,我很难找到解决方案:这是我的代码:
def avg(allgroups):
return [float(sum(i)) / len(i) for i in allgroups]
def variance(allgroups):
return [sum((x - sum(group) / len(group)) ** 2 for x in group) / (
len(group) - 1) for group in allgroups]
def calcavg(allgroups):
return float(sum(avg(allgroups) / len(avg(allgroups))))
TheAvg = avg(allgroups)
print(TheAvg)
Variance = variance(allgroups)
print(Variance)
calcAvg = calcavg(allgroups)
print(calcAvg)
我一直收到屏幕错误:
return float(sum(avg(allgroups) / len(avg(allgroups))))
TypeError: unsupported operand type(s) for /: 'list' and 'int'
我编写代码时:
average= sum(TheAvg)/len(TheAvg)
我可以找到平均值,但是当我这样做时>>
def calcavg(allgroups): return float(sum(avg(allgroups) / len(avg(allgroups))))
我不断收到错误消息。我将不胜感激。P / S:对于该问题,我无法使用任何库,例如numpy或statistic。
我是python的新手,我需要在列表列表中查找平均值,方差和均值的帮助。我有一个这样的列表列表:allgroups = [[1、2、3],[4、5、6],[7、8、9],[10、11、12] ...
您在calcavg
功能中有错字。您没有正确封闭左侧的sum
运算符。该功能应如下所示: