📜  Python|记录列表中的列平均值

📅  最后修改于: 2022-05-13 01:55:41.569000             🧑  作者: Mango

Python|记录列表中的列平均值

有时我们收到的数据是元组的形式,包含来自各种来源的数据,我们通常可以有一个用例,在这个用例中,我们需要处理每个元组索引的查找平均值以进行累积。让我们讨论可以执行此操作的某些方式。

方法#1:使用列表推导
这是执行此特定任务的最简单的方法,在这种方法中,我们计算元组所有可能索引的每个索引的平均值。

# Python3 code to demonstrate 
# Column Average in Record List
# using list comprehension
  
# initializing list 
test_list = [(1, 6), (3, 4), (5, 8)]
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# Column Average in Record List
# using list comprehension
temp = sum(i[0] for i in test_list), sum(i[1] for i in test_list)
res = []
for ele in temp:
    res.append(ele / len(test_list))
  
# printing summation
print ("The position Average of tuples : " + str(res))
输出 :
The original list is : [(1, 6), (3, 4), (5, 8)]
The position Average of tuples : [3.0, 6.0]

方法 #2:使用zip() + sum()
这是执行此特定任务的最优雅和 Pythonic 的方式。在此,我们使用 zip() 结合元素的所有索引和使用 sum函数的求和性能。然后将列表除以列表长度以计算平均值。

# Python3 code to demonstrate 
# Column Average in Record List
# using zip() + sum()
  
# initializing list 
test_list = [(1, 6), (3, 4), (5, 8)]
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# Column Average in Record List
# using zip() + sum()
temp = [sum(i) for i in zip(*test_list)]
res = []
for ele in temp:
    res.append(ele / len(test_list))
  
# printing summation
print ("The position Average of tuples : " + str(res))
输出 :
The original list is : [(1, 6), (3, 4), (5, 8)]
The position Average of tuples : [3.0, 6.0]