我有一个 list list :
就像是:
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逐列平均列表列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10919664/