当前位置: 首页 > 面试题库 >

python逐列平均列表列表

谭京
2023-03-14
问题内容

我有一个列表列表:

data = [[240, 240, 239],
        [250, 249, 237], 
        [242, 239, 237],
        [240, 234, 233]]

我想将其平均

[average_column_1, average_column_2, average_column_3]

我的代码好像不太优雅。这是遍历列表的幼稚方法,将总和保存在单独的容器中,然后除以元素数。

我认为有一种Python方式可以做到这一点。有什么建议?谢谢


问题答案:

纯Python:

from __future__ import division
def mean(a):
    return sum(a) / len(a)
a = [[240, 240, 239],
     [250, 249, 237], 
     [242, 239, 237],
     [240, 234, 233]]
print map(mean, zip(*a))

印刷

[243.0, 240.5, 236.5]

NumPy:

a = numpy.array([[240, 240, 239],
                 [250, 249, 237], 
                 [242, 239, 237],
                 [240, 234, 233]])
print numpy.mean(a, axis=0)

Python 3:

from statistics import mean
a = [[240, 240, 239],
     [250, 249, 237], 
     [242, 239, 237],
     [240, 234, 233]]
print(*map(mean, zip(*a)))


 类似资料:
  • 问题内容: 我必须在Python中找到列表的平均值。到目前为止,这是我的代码 我已经知道了,所以它可以将列表中的值相加,但是我不知道如何将其划分为它们? 问题答案: 在Python 3.4+上,你可以使用 statistics.mean() 在旧版本的Python上,你可以执行 在Python 2上,你需要转换len为浮点数才能进行浮点数除法 无需使用。它慢得多,并已在Python 3 中删除。

  • 问题内容: 我正在尝试使用下面的代码来计算用户输入的一组值的平均值,并将其显示在中,但它无法正常工作。假设用户输入7、4和5,该程序在应显示5.3时显示平均值。 代码有什么问题? 问题答案: 当您拥有增强的for循环时,为什么还要对索引使用笨拙的for循环?

  • 问题内容: 我无法获得熊猫列的平均值或均值。有一个数据框。我在下面尝试的任何事情都没有给我该列的平均值 以下返回几个值,而不是一个: 这样: 问题答案: 如果您只想要列的均值,请选择列(这是一个系列),然后调用:

  • 我不能得到熊猫的平均值或平均值。有一个数据框。下面我尝试的东西都没有给我列的平均值 以下内容返回多个值,而不是一个值: 这也是:

  • 问题内容: 寻找时间平均问题的最快解决方案。 我有一个日期时间对象列表。需要找到时间的平均值(不包括年,月,日)。这是到目前为止我得到的: 问题答案: 这是解决此问题的更好方法 生成日期时间样本 平均20m次 结果为timedelta(请注意,这需要numpy 1.7和pandas 0.13 ,很快就会出现) 以秒为单位(这适用于熊猫0.12,numpy> = 1.6)。

  • 问题内容: 我有一个这样的清单: 此列表中的每个项目可能包含一个数据对或一个元组,我想将此列表更改为 然后这样做: 我不知道如何更改列表结构,或者如何基于原始列表进行相同的计算? 问题答案: 如果您只想整理列表,请使用:http : //docs.python.org/library/itertools.html#itertools.chain.from_iterable