Python 计算元组列表中第i个元素的平均值

Python 计算元组列表中第i个元素的平均值,python,python-3.x,tuples,average,Python,Python 3.x,Tuples,Average,注意:我已经对数据集进行了编辑,我认为这对于计算平均值会更好 我的数据如下所示: [[2015, 0.23, 0.45, 1.23], [2014, 1.22, 2.54, 0.98], [2013, 0.33, 2.11, 0.43], ...] 其中数据现在是列表中的列表。子列表中的第一个元素是增长年,下面三个浮动是该年的环宽度。我的问题是:有没有一种方法可以计算每个子列表中最后三个元素的平均值,并生成一个新的列表,其中只有一年的平均增长率,看起来像: [[2015, 1.58], [2

注意:我已经对数据集进行了编辑,我认为这对于计算平均值会更好


我的数据如下所示:

[[2015, 0.23, 0.45, 1.23],
[2014, 1.22, 2.54, 0.98],
[2013, 0.33, 2.11, 0.43],
...]
其中数据现在是列表中的列表。子列表中的第一个元素是增长年,下面三个浮动是该年的环宽度。我的问题是:有没有一种方法可以计算每个子列表中最后三个元素的平均值,并生成一个新的列表,其中只有一年的平均增长率,看起来像:

[[2015, 1.58], [2014, 0.956], ...]
其中
1.58
(1.22+2.54+0.98)/3

很抱歉之前的混乱,我是新来的堆栈溢出,我可以告诉你更多的信息更好

以下是我目前掌握的代码:

   for i in list[0]:
      newlist = [(list[1] + list[2] + list[3])/3]
但这似乎不起作用


任何帮助都将不胜感激。谢谢

如果您的数据采用以下格式:

trees= [[2015, 0.23, 0.45, 1.23],
        [2014, 1.22, 2.54, 0.98],
        [2013, 0.33, 2.11, 0.43]]
你可以做:

new_trees=[]

for x in trees:
    average="{0:.2f}".format(sum(x[1:])/len(x[1:]))
    new_trees.append([x[0]]+[average])
                     #year + average 
这将产生:

>>> new_trees
[[2015, '0.64'], [2014, '1.58'], [2013, '0.96']]  

@逻辑有第一个正确答案(应该是被接受的答案),下面是如何用简短的理解列表来完成它

trees= [[2015, 0.23, 0.45, 1.23],
        [2014, 1.22, 2.54, 0.98],
        [2013, 0.33, 2.11, 0.43]]

data = [ (x[0], (sum(x[1:]) / len(x[1:])) ) for x in trees]
这将生成以下元组列表:

[(2015, 0.6366666666666667), (2014, 1.58), (2013, 0.9566666666666667)]

你已经写了一些代码了吗?如果你有,如果你发布它会有帮助。我添加了我的代码。谢谢你看这个。嗨@user2057916,欢迎来到StackOverflow!您可能应该在问题中添加“python”标记,以便人们一眼就能看出您的问题与python有关。如果i[1]=='2015',您不能只执行
tree1_list=[i[2]for i in trees吗?
?然后用
sum()
除以
len()
。然后,为了得到其他年份,你只需要将2015年改为2013年,然后再改为2014年。我当然可以这样做,但我有几百年的树木数据。工作起来很有魅力。自从我上一篇文章以来,我一直在使用.append,但我把它放错地方了。多谢各位@用户2057916没问题!如果我的回答对你有帮助,你能考虑一下在左边标明吗?)(我还在示例输出中包含了2位小数格式)