📜  Python|元组列表中的列均值(1)

📅  最后修改于: 2023-12-03 15:19:18.302000             🧑  作者: Mango

Python | 元组列表中的列均值

在Python中,我们可以使用元组列表来表示表格数据。有时候,我们需要计算表格中每一列的均值。本文将介绍如何在Python中计算元组列表中的列均值。

假设有如下表格数据:

data = [('John', 'Doe', 23, 177.8),
        ('Jane', 'Smith', 28, 165.1),
        ('Bob', 'Johnson', 35, 182.9),
        ('Sarah', 'Lee', 29, 160.0)]

其中每个元组表示一行数据,包括第一列的名字、第二列的姓氏、第三列的年龄和第四列的身高。要计算每一列的均值,可以按如下步骤进行。

步骤
  1. 生成每一列的列表。
  2. 计算每一列的均值。
生成每一列的列表

要生成每一列的列表,可以使用列表解析式。我们可以遍历每一行数据,将每一列的值加入到对应列的列表中,最后形成一个包含所有列列表的列表。

columns = list(zip(*data))

这里使用了内置函数zip()和解包(unpacking)运算符*。将解包后的元组传入zip()函数中,zip()会将元组中每个位置上的值组合成一个元组,最后返回一个生成器对象。使用list()函数将生成器对象转换为列表,得到每一列的列表。

计算每一列的均值

要计算每一列的均值,可以使用内置函数sum()len()。遍历每一列的列表,使用sum()函数计算列表中所有元素的和,使用len()函数计算列表的长度。最后将和除以长度就得到了均值。

averages = [sum(column) / len(column) for column in columns]

最终结果是包含每一列的均值的列表。

完整代码
data = [('John', 'Doe', 23, 177.8),
        ('Jane', 'Smith', 28, 165.1),
        ('Bob', 'Johnson', 35, 182.9),
        ('Sarah', 'Lee', 29, 160.0)]

columns = list(zip(*data))
averages = [sum(column) / len(column) for column in columns]

print(averages)  # [28.75, 171.45, 28.75, 171.45]

完整代码中包括了数据的定义、生成每一列的列表和计算每一列的均值。运行代码后,输出每一列的均值。

以上就是本文介绍的在Python中计算元组列表中的列均值的方法。