2017-02-27 34 views
0

我有大量的列表,我想计算平均值而不存储它们。有没有任何python实现来做到这一点?Python:计算一个大数组的平均数而不保存它们

感谢

+1

肯定。但是你必须向我们展示一些你的代码。 –

+0

你能提供更多关于你的情况的细节吗?没有存储所有的平均值或所有的列表?这些列表是否已经在内存中? –

+0

尝试使用statistics.mean()和迭代器作为参数。迭代器不存储数据,数据按需调用。 – rolika

回答

1

如果你想整个平均阵列(必须是兼容的形状):

running_sum = None 
count = 0 
for a in yourarraysource: 
    if running_sum is None: 
     running_sum = a 
    else: 
     running_sum = running_sum + a 
    count += 1 
average = running_sum/count 

如果您要平均的所有元素:

running_sum = 0 
count = 0 
for a in yourarraysource: 
    running_sum += a.sum() 
    count += a.size 
average = running_sum/count