我想从三个数据集中找出一条平均线。我有这段代码来创建一个新列表,其中包含其他三行的平均值。你知道吗
for i in range(0,len(y1)):
sum=y1[i]+y2[i]+y3[i]
sum=sum/3
average.append(sum)
但是,由于某些原因,这段代码没有输出正确的平均值
y1[i]+y2[i]+y3[i].
例如,列表y1、y2、y3的最后一个值是41.72104029、39.29410479和39.24708382。然而,这个for循环会说这三个的平均值是30.729766933334。你知道吗
感谢您的帮助!你知道吗
找到了答案。它不在循环中,而是在数据中。列表y1、y2和y3的长度不同,因此数据都不正常。我用这段代码来修正长度,效果很好。你知道吗
我会做不同的循环:
这并不意味着你的循环有什么问题。最有可能的是数据不在您预期的位置。所以,我认为你的问题在于数据,而不是循环。你知道吗
为了
我得到:
另一个变体:
使用地图:
这种方法适用于任何数量的变量,您可以将其包装成一个函数:
这里有一个live example
相关问题 更多 >
编程相关推荐