查找python列表的差异列表
我是python新手,需要帮助查找列表中的平均值和方差。 我有这样一个列表:查找python列表的差异列表,python,variance,Python,Variance,我是python新手,需要帮助查找列表中的平均值和方差。 我有这样一个列表: data = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] [var_column_1, var_column_2, var_column_3, var_column_4] 我想找到这样的方差输出: data = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] [var_column_
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9],
[10, 11, 12]]
[var_column_1, var_column_2, var_column_3, var_column_4]
我想找到这样的方差输出:
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9],
[10, 11, 12]]
[var_column_1, var_column_2, var_column_3, var_column_4]
我能够找到平均值,但对于方差,我没有运气找到解决方案。这是我的密码:
def avg(allgroups):
return [float(sum(i))/len(i) for i in zip(*allgroups)]
def variance(allgroups):
summm = 0.0
for i in zip(*allgroups):
summm = summm + (i-avg(allgroups))**2
return summm / (len(allgroups)-1)
TheAvg=avg(allgroups)
print(TheAvg)
Variance=variance(allgroups)
print(Variance)
我不断收到屏幕错误:
*summm = summm + (i-avg(allgroups))**2
TypeError: unsupported operand type(s) for -: 'tuple' and 'list'*
如果有任何帮助,我将不胜感激。
P/S:我不能用numpy解决这个问题。
您不需要重新发明轮子-可以帮您完成繁重的工作:
导入统计信息
数据=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
方差=[统计。zip(*数据)中l的方差(l)]
您不需要重新发明车轮-可以为您完成繁重的工作:
导入统计信息
数据=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
方差=[统计。zip(*数据)中l的方差(l)]
您只需使用内置的库统计信息
()
您只需使用内置库
statistics
()
不导入统计数据的一行方法:
def variance(allgroups):
return [sum((x - sum(group) / len(group)) ** 2 for x in group) / (len(group) - 1) for group in zip(*allgroups)]
不导入统计数据的一行方法:
def variance(allgroups):
return [sum((x - sum(group) / len(group)) ** 2 for x in group) / (len(group) - 1) for group in zip(*allgroups)]
为什么要使用
zip
?您的组是[1,2,3]..
还是[1,4,7,10]
?我的组将是[1,2,3]您为什么使用邮政编码?您的分组是[1,2,3]…
还是[1,4,7,10]
?我的分组是[1,2,3]我想是对于zip中的l(*数据)
@Danimesjo是的,没错-我误解了要求。感谢您的关注、编辑和修复。我认为这是zip(*数据)中l的
@DaniMesejo-yup,没错-我误解了要求。感谢您的关注、编辑和修复。