当新的数据集出现时,我需要更新现有的平均值。例如,假设我已经计算了一个数字列表的平均值,并保持了。
from statistics import mean
l1=[1,0,1,0,0,0,0,1,1,1,0,1]
m1=mean(l1)
print(m1)
0.5然后假设我得到了一个新的数字列表
l2=[1,0,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,1,1,1,0,1]
m2=mean(l2)
print(m2)
0.5909090909090909现在,如果我分别取m1 & m2 w.r.t的平均值,它们是不同的。
m3=mean([m1,m2])
print(m3)
0.5454545454545454
m3=mean(l1+l2)
print(m3)
0.5588235294117647那么,基本上,如何仅使用l1、m1和l2的长度来计算新的正确平均值?(我再也没有l1的内容了。但是,我可以得到长度)
发布于 2022-08-24 06:39:57
如果您知道长度l1和l2,您可以很容易地做到这一点
from statistics import mean
l1 = [1,0,1,0,0,0,0,1,1,1,0,1]
m1 = mean(l1)
len1 = len(l1)
l2 = [1,0,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,1,1,1,0,1]
m2 = mean(l2)
len2 = len(l2)
m3 = (len1*m1 + len2*m2) / (len1+len2)
print(m3)输出:
0.5588235294117647发布于 2022-08-24 06:17:36
您可以使用extend函数将l2中的项添加到l1中,并找到更新的l1的平均值,其中包括来自l2的所有项。
l3 = l1.extend(l2)
m3 = mean(l3)https://stackoverflow.com/questions/73468126
复制相似问题