首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用旧均值计算新数表的均值

用旧均值计算新数表的均值
EN

Stack Overflow用户
提问于 2022-08-24 06:02:52
回答 2查看 74关注 0票数 0

当新的数据集出现时,我需要更新现有的平均值。例如,假设我已经计算了一个数字列表的平均值,并保持了。

代码语言:javascript
复制
from statistics import mean
l1=[1,0,1,0,0,0,0,1,1,1,0,1]
m1=mean(l1)
print(m1)
0.5

然后假设我得到了一个新的数字列表

代码语言:javascript
复制
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的平均值,它们是不同的。

代码语言:javascript
复制
m3=mean([m1,m2])
print(m3)
0.5454545454545454
m3=mean(l1+l2)
print(m3)
0.5588235294117647

那么,基本上,如何仅使用l1、m1和l2的长度来计算新的正确平均值?(我再也没有l1的内容了。但是,我可以得到长度)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-24 06:39:57

如果您知道长度l1和l2,您可以很容易地做到这一点

代码语言:javascript
复制
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)

输出:

代码语言:javascript
复制
0.5588235294117647
票数 0
EN

Stack Overflow用户

发布于 2022-08-24 06:17:36

您可以使用extend函数将l2中的项添加到l1中,并找到更新的l1的平均值,其中包括来自l2的所有项。

代码语言:javascript
复制
l3 = l1.extend(l2)
m3 = mean(l3)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73468126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档