📅  最后修改于: 2023-12-03 15:19:18.302000             🧑  作者: Mango
在Python中,我们可以使用元组列表来表示表格数据。有时候,我们需要计算表格中每一列的均值。本文将介绍如何在Python中计算元组列表中的列均值。
假设有如下表格数据:
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))
这里使用了内置函数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中计算元组列表中的列均值的方法。