Я новичок в 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 или statisti c.